public abstract class FederatedLoginService extends Object implements ExtensionPoint
This extension point adds additional login mechanism for SecurityRealm
s that
authenticate the user via username/password (which typically extends from AbstractPasswordBasedSecurityRealm
.)
The intended use case is protocols like OpenID, OAuth, and other SSO-like services.
The basic abstraction is that:
FederatedLoginService
implementation.
FederatedLoginService.FederatedIdentity
instance,
then call FederatedLoginService.FederatedIdentity.addToCurrentUser()
to record such association.
FederatedLoginService.FederatedIdentity
instance, and invoke FederatedLoginService.FederatedIdentity.signin()
to sign in that user.
Each FederatedLoginService
is exposed to the URL space via Jenkins.getFederatedLoginService(String)
.
So for example if your url name is "openid", this object gets
"/federatedLoginService/openid" as the URL.
Modifier and Type | Class and Description |
---|---|
class |
FederatedLoginService.FederatedIdentity
Identity information as obtained from
FederatedLoginService . |
static class |
FederatedLoginService.UnclaimedIdentityException
Used in
FederatedLoginService.FederatedIdentity.signin() to indicate that the identifier is not currently
associated with anyone. |
ExtensionPoint.LegacyInstancesAreScopedToHudson
Constructor and Description |
---|
FederatedLoginService() |
Modifier and Type | Method and Description |
---|---|
static ExtensionList<FederatedLoginService> |
all() |
abstract String |
getUrlName()
Returns the url name that determines where this
FederatedLoginService is mapped to in the URL space. |
abstract Class<? extends FederatedLoginServiceUserProperty> |
getUserPropertyClass()
Returns your implementation of
FederatedLoginServiceUserProperty that stores
opaque identifiers. |
public abstract String getUrlName()
FederatedLoginService
is mapped to in the URL space.
The object is bound to /federatedLoginService/URLNAME/. The url name needs to be unique among all
FederatedLoginService
s.
public abstract Class<? extends FederatedLoginServiceUserProperty> getUserPropertyClass()
FederatedLoginServiceUserProperty
that stores
opaque identifiers.public static ExtensionList<FederatedLoginService> all()
Copyright © 2016. All rights reserved.