Package org.forgerock.openig.tools.am
Class AmService
- java.lang.Object
 - 
- org.forgerock.openig.tools.am.AmService
 
 
- 
public final class AmService extends Object
Creates a configuration class for AM. 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAmService.BuilderBuilder ofAmService.static classAmService.DiscoveryA pre-builder class used to discover AM details such as its version and expected cookie name. 
- 
Field Summary
Fields Modifier and Type Field Description static AmVersionDEFAULT_AM_VERSIONAM 6.0.0.static StringDEFAULT_COOKIE_NAMEThe default cookie header name for the OpenAM Server. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static AmService.Discoverydiscovery(URI baseUri, Realm realm, String cookieName, Version versionHint, String agentId, SecretReference<GenericSecret> agentPassword, Handler amHandler)Create an AM Discovery object which will get information from AM upon building.StringgetAgentId()Returns the agent's ID.HandlergetAuthenticatedHandler()Returns aHandlerthat will perform automatic authentication with the provided agent credentials.AuthenticationServicegetAuthenticationService()Returns the service used to authenticate subjects to AM.URIgetBaseUri()Return the base URI for this server.StringgetCookieName()Returns the cookie header name used by AM server.HandlergetHandler()Returns the handler to use with this configuration.Optional<NotificationService>getNotificationService()Returns the AM notification service.RealmgetRealm()Returns the realm to use with this configuration.SessionServicegetSessionService()Returns theSessionServicefor this server.AsyncRefreshableSupplier<SsoToken,AuthenticationException>getTokenProvider()Returns theAsyncRefreshableSupplierbeing used as aSsoTokenprovider for this server.VersiongetVersion()Return the version of the configured OpenAM Server.Stringjson()Build the endpoint URI for an endpoint located in the/jsonnamespace.Stringjson(String endpoint)Build the endpoint URI for an endpoint located in the/jsonnamespace.URIjsonUri()Build the endpoint URI for an endpoint located in the/jsonnamespace.URIjsonUri(String endpoint)Build the endpoint URI for an endpoint located in the/jsonnamespace.Stringoauth2(String endpoint)Build the endpoint URI for an endpoint located in the/oauth2namespace.URIoauth2Uri(String endpoint)Build the endpoint URI for an endpoint located in the/oauth2namespace.Promise<Void,Exception>start()Starts this server instance (and associated services).Promise<Void,NeverThrowsException>stop()Stops this server instance (and associated services).Stringsts()Returns the transformation endpoint located in the/rest-stsnamespace.Stringsts(String endpoint)Returns the transformation endpoint located in the/rest-stsnamespace.URIstsUri(String endpoint)Returns the URI of the transformation endpoint located in the/rest-stsnamespace.Stringuma(String endpoint)Build the endpoint URI for an endpoint located in the/umanamespace.URIumaUri(String endpoint)Build the endpoint URI for an endpoint located in the/umanamespace.UriServiceuriService(Realm realm)Provides anUriServiceinstance that creates URI for the given realm.HandlerwithHeadlessAuthentication(Handler delegate)Returns aHandlerwhich wraps theHeadlessAuthenticationFilter. 
 - 
 
- 
- 
Field Detail
- 
DEFAULT_COOKIE_NAME
public static final String DEFAULT_COOKIE_NAME
The default cookie header name for the OpenAM Server.- See Also:
 - Constant Field Values
 
 
- 
DEFAULT_AM_VERSION
public static final AmVersion DEFAULT_AM_VERSION
AM 6.0.0. 
 - 
 
- 
Method Detail
- 
getHandler
public Handler getHandler()
Returns the handler to use with this configuration.- Returns:
 - The handler used in this configuration.
 
 
- 
getAuthenticationService
public AuthenticationService getAuthenticationService()
Returns the service used to authenticate subjects to AM.- Returns:
 - the service used to authenticate subjects to AM.
 
 
- 
getNotificationService
public Optional<NotificationService> getNotificationService()
Returns the AM notification service.- Returns:
 - the AM notification service.
 
 
- 
getAgentId
public String getAgentId()
Returns the agent's ID.- Returns:
 - the agent's ID.
 
 
- 
start
public Promise<Void,Exception> start()
Starts this server instance (and associated services).- Returns:
 - A promise of a started AM service or an Exception if startup failed
 
 
- 
stop
public Promise<Void,NeverThrowsException> stop()
Stops this server instance (and associated services).- Returns:
 - Promise completing the service being stopped
 
 
- 
getRealm
public Realm getRealm()
Returns the realm to use with this configuration.- Returns:
 - The realm used in this configuration.
 
 
- 
getCookieName
public String getCookieName()
Returns the cookie header name used by AM server.- Returns:
 - the cookie header name used by AM server.
 
 
- 
getBaseUri
public URI getBaseUri()
Return the base URI for this server.- Returns:
 - the base URI for this server.
 
 
- 
getVersion
public Version getVersion()
Return the version of the configured OpenAM Server.- Returns:
 - the version of the configured OpenAM Server.
 
 
- 
getAuthenticatedHandler
public Handler getAuthenticatedHandler()
Returns aHandlerthat will perform automatic authentication with the provided agent credentials.- Returns:
 - the 
Handlerthat will perform automatic authentication. 
 
- 
withHeadlessAuthentication
public Handler withHeadlessAuthentication(Handler delegate)
Returns aHandlerwhich wraps theHeadlessAuthenticationFilter.- Parameters:
 delegate- The delegate Handler.- Returns:
 - a 
Handlerwhich wraps theHeadlessAuthenticationFilter. 
 
- 
getSessionService
public SessionService getSessionService()
Returns theSessionServicefor this server.- Returns:
 - the 
SessionServicein use for this server. 
 
- 
getTokenProvider
public AsyncRefreshableSupplier<SsoToken,AuthenticationException> getTokenProvider()
Returns theAsyncRefreshableSupplierbeing used as aSsoTokenprovider for this server.- Returns:
 - the 
AsyncRefreshableSupplierbeing used as aSsoTokenprovider for this server. 
 
- 
json
public String json()
Build the endpoint URI for an endpoint located in the/jsonnamespace.- Returns:
 - an absolute endpoint URI.
 
 
- 
json
public String json(String endpoint)
Build the endpoint URI for an endpoint located in the/jsonnamespace.- Parameters:
 endpoint- endpoint name, such as policies or /serverinfo/version. The endpoint MUST be a proper encoded path.- Returns:
 - an absolute endpoint URI.
 
 
- 
jsonUri
public URI jsonUri()
Build the endpoint URI for an endpoint located in the/jsonnamespace.- Returns:
 - an absolute endpoint URI.
 
 
- 
jsonUri
public URI jsonUri(String endpoint)
Build the endpoint URI for an endpoint located in the/jsonnamespace.- Parameters:
 endpoint- endpoint name, such as policies or /serverinfo/version. The endpoint MUST be a proper encoded path.- Returns:
 - an absolute endpoint URI
 
 
- 
oauth2
public String oauth2(String endpoint)
Build the endpoint URI for an endpoint located in the/oauth2namespace.- Parameters:
 endpoint- endpoint name, such as .well-known/openid-configuration or /authorize. The endpoint MUST be a proper encoded path.- Returns:
 - an absolute endpoint URI
 
 
- 
oauth2Uri
public URI oauth2Uri(String endpoint)
Build the endpoint URI for an endpoint located in the/oauth2namespace.- Parameters:
 endpoint- endpoint name, such as .well-known/openid-configuration or /authorize. The endpoint MUST be a proper encoded path.- Returns:
 - an absolute endpoint URI.
 
 
- 
uma
public String uma(String endpoint)
Build the endpoint URI for an endpoint located in the/umanamespace.- Parameters:
 endpoint- endpoint name, such as .well-known/uma-configuration or /authz_request. The endpoint MUST be a proper encoded path.- Returns:
 - an absolute endpoint URI.
 
 
- 
sts
public String sts()
Returns the transformation endpoint located in the/rest-stsnamespace.- Returns:
 - the transformation endpoint located in the 
/rest-stsnamespace. 
 
- 
sts
public String sts(String endpoint)
Returns the transformation endpoint located in the/rest-stsnamespace.- Parameters:
 endpoint- The endpoint name, such as rest-sts/username-transformer. The endpoint MUST be a proper encoded path.- Returns:
 - the transformation endpoint located in the 
/rest-stsnamespace. 
 
- 
stsUri
public URI stsUri(String endpoint)
Returns the URI of the transformation endpoint located in the/rest-stsnamespace.- Parameters:
 endpoint- The endpoint name, such as rest-sts/username-transformer. The endpoint MUST be a proper encoded path.- Returns:
 - an absolute endpoint URI.
 
 
- 
umaUri
public URI umaUri(String endpoint)
Build the endpoint URI for an endpoint located in the/umanamespace.- Parameters:
 endpoint- endpoint name, such as .well-known/uma-configuration or /authz_request. The endpoint MUST be a proper encoded path.- Returns:
 - an absolute endpoint URI.
 
 
- 
uriService
public UriService uriService(Realm realm)
Provides anUriServiceinstance that creates URI for the given realm.- Parameters:
 realm- the realm we want URIs for (nevernull)- Returns:
 - the associated UriService
 
 
- 
discovery
public static AmService.Discovery discovery(URI baseUri, Realm realm, String cookieName, Version versionHint, String agentId, SecretReference<GenericSecret> agentPassword, Handler amHandler)
Create an AM Discovery object which will get information from AM upon building.- Parameters:
 baseUri- the AM base URIrealm- the realm to use, defaults to root realmcookieName- the cookie name used for agent authentication (may be null)versionHint- a hint on the expected version (may be null)agentId- the agent IDagentPassword- the agent passwordamHandler- the Handler used for AM calls- Returns:
 - an AM Discovery object ready to build.
 
 
 - 
 
 -