public class OAuthRealm extends AbstractRealm
Modifier and Type | Method and Description |
---|---|
boolean |
accountBelongsToRealm(java.util.Collection<ExternalId> externalIds) |
boolean |
allowsEdit(AccountFieldName field)
Can the end-user modify this field of their own account?
|
AuthRequest |
authenticate(AuthRequest who)
Authenticates with the
OAuthLoginProvider specified in the authentication request. |
Account.Id |
lookup(java.lang.String accountName)
Locate an account whose local username is the given account name.
|
void |
onCreateAccount(AuthRequest who,
Account account) |
getEditableFields, getEmailAddresses, hasEmailAddress
public boolean allowsEdit(AccountFieldName field)
Realm
public AuthRequest authenticate(AuthRequest who) throws AccountException
OAuthLoginProvider
specified in the authentication request.
AccountManager
calls this method without password if authenticity of the user has
already been established. In that case we can skip the authentication request to the OAuthLoginService
.
who
- the authentication request.who
is returned unchanged.AccountException
- if the authentication request with the OAuth2 server failed or no
OAuthLoginProvider
was available to handle the request.public void onCreateAccount(AuthRequest who, Account account)
public Account.Id lookup(java.lang.String accountName)
Realm
Generally this only works for local realms, such as one backed by an LDAP directory, or
where there is an EmailExpander
configured that knows how to convert the accountName
into an email address, and then locate the user by that email address.
public boolean accountBelongsToRealm(java.util.Collection<ExternalId> externalIds)