# Interface IPublicCredential

All Superinterfaces:
  `Principal`

public interface IPublicCredential extends Principal
This interface describes public credentials added by the Equinox login modules.

This interface should not be extended by clients.

See Also:
  - `Subject.getPublicCredentials()`
Restriction:
  This interface is not intended to be implemented by clients.

## Method Summary

Modifier and Type
Method
Description
`Principal`
`getPrimaryRole()`
Returns user's primary role, if set.
`String`
`getProviderID()`
ID of the provider of this public credential.
`Principal[]`
`getRoles()`
Returns user's roles.

### Methods inherited from interface Principal

`equals, getName, hashCode, implies, toString`

## Method Details

### getPrimaryRole

Principal getPrimaryRole()
Returns user's primary role, if set. Might return `null` if primary role is not set.

Returns:
  user's primary role. Returns `null` if there is no primary role.

### getRoles

Principal[] getRoles()
Returns user's roles. Might return `null` if there are no roles.

Returns:
  user's roles. Returns `null` if there are no roles.

### getProviderID

String getProviderID()
ID of the provider of this public credential.

Returns:
  provider ID