Class IssuerHeaplet

java.lang.Object
org.forgerock.openig.heap.GenericHeaplet
org.forgerock.openig.filter.oauth2.client.IssuerHeaplet
All Implemented Interfaces:
Heaplet

public final class IssuerHeaplet extends GenericHeaplet
A configuration for an OAuth2 or an OpenID Connect Issuer. Two approaches to create the Issuer:

With an OpenId well-known endpoint:

 
 {
   "wellKnownEndpoint"            : uriExpression,   [REQUIRED]
   "issuerHandler"                : handler          [OPTIONAL - by default it uses the 'ForgeRockClientHandler'
                                                                 provided in heap.]
   "supportedDomains"             : [ patterns ]     [OPTIONAL - if this issuer supports other domain names]
 }
 
 
The 'supportedDomains' are the other domain names supported by this issuer, their format can include use of regular-expression patterns. Note: Declaring these domains in the configuration should be as simple as possible, without any schemes or end slash i.e.:

 GOOD: [ "openam.com", "openam.com:8092", "register.server.com", "allopenamdomains.*" ]
 BAD : [ "http://openam.com", "openam.com:8092/", "http://openam.com/" ]
 
 

For example, use this kind of configuration if the endpoints are not known:

 
 {
     "name": "openam",
     "type": "Issuer",
     "config": {
          "wellKnownEndpoint": "http://openam.example.com:8081/openam/oauth2/.well-known/openid-configuration"
          "supportedDomains" : [ "openam.com", "openam.com:8092", "register.server.com" ]
     }
 }
 
 

Use this configuration if the endpoints are known.

 
 {
   "authorizeEndpoint"            : uriExpression,    [REQUIRED]
   "tokenEndpoint"                : uriExpression,    [REQUIRED]
   "issuer"                       : stringExpression, [REQUIRED for OIDC]
   "secretsProvider"              : SecretsProvider   [OPTIONAL - Contains the public keys used to verify the ID token
                                                                  when using asymetric signature algorithm.
                                                                  Defaults to none. Meaning that a symmetric signature
                                                                  algorithm is expected, see ClientRegistration to
                                                                  set it up.]
   "idTokenVerificationSecretId"  : stringExpression  [OPTIONAL - The secret ID leading to the ID Token verification
                                                                  key.]
   "registrationEndpoint"         : uriExpression,    [OPTIONAL - allows dynamic client registration]
   "userInfoEndpoint"             : uriExpression     [OPTIONAL - default is no user info]
   "revocationEndpoint"           : uriExpression     [OPTIONAL]
   "endSessionEndpoint"           : uriExpression     [OPTIONAL]
   "supportedDomains"             : [ patterns ]      [OPTIONAL - if this issuer supports other domain names]
 }
 
 
For example:
 
 {
     "name": "openam",
     "type": "Issuer",
     "config": {
          "authorizeEndpoint": "http://openam.example.com:8081/openam/oauth2/authorize",
          "tokenEndpoint": "http://openam.example.com:8081/openam/oauth2/access_token",
          "userInfoEndpoint": "http://openam.example.com:8081/openam/oauth2/userinfo"
     }
 }
 
 

Note: ID Token encryption is NOT supported.

See Also:
  • Field Details

  • Constructor Details

    • IssuerHeaplet

      public IssuerHeaplet()
  • Method Details