Class OidcSecurityPolicies
java.lang.Object
swiss.trustbroker.federation.xmlconfig.OidcSecurityPolicies
- All Implemented Interfaces:
Serializable
Security policy overrides for OIDC.
- See Also:
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionOidcSecurityPolicies(Boolean requireProofKey, Boolean requireAuthorizationConsent, Boolean requireOpaqueAccessToken, Boolean allowFormBearerToken, Boolean requireIdTokenEncryption, Boolean requireOpaqueRefreshToken, Boolean requireUserInfoResponseEncryption, String encryptionAlgorithm, String encryptionMethod, String encryptionKid, Integer tokenTimeToLiveMin, Integer accessTokenTimeToLiveMin, Integer idTokenTimeToLiveMin, Integer refreshTokenTimeToLiveMin, Integer authorizationCodeTimeToLiveMin, Integer sessionTimeToLiveMin, Boolean reuseRefreshTokens, String idTokenSignature, String sessionCookieSameSite, Boolean allowPublicClientTokenExchange, Integer subjectTokenMaxAgeSec, Integer subjectTokenMaxUseCount, Integer subjectTokenNotOnOrAfterToleranceSec, Integer subjectTokenNotBeforeToleranceSec, Integer clientAssertionMaxAgeSec, Integer clientAssertionExpirationLifeTimeSec, Integer clientAssertionNotOnOrAfterToleranceSec, Integer clientAssertionNotBeforeToleranceSec) Creates a newOidcSecurityPoliciesinstance. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()protected booleanbooleanAllow access_token in form body
Default: falseAllow Token Exchange with Public Client
Default: falseOverrides tokenTimeToLiveMin for the authorization code.Restrict client_assertion expiration maxLifeTime
Default: 3600 (1h)Restrict client_assertion age
Default: 60client_assertion tolerance NTP drift tolerance.client_assertion timestamp clock/transfer tolerance.Encryption algorithm
Default: RSA-OAEP-256Encryption keyIDEncryption method
Default: A256GCMID token signature algorithm (many adapters only support RS256)Overrides tokenTimeToLiveMin for the refresh token.Require authorization consent (currently unsupported).Allow to enable Encrypted IdToken JWT Singing for Rp.Allow to enable Opaque AccessToken for Rp.Allow to enable Opaque RefreshToken for Rp.Require Proof Key for Code Exchange (PKCE).Allow to enable Encrypted UserInfo response
Default: falseReuse refresh tokens.Controls the OIDC session cookies sameSite flag None, Strict, Dynamic.Allow to invalidate OIDC sessions before token TTL, keep for 1 minute to allow login sequence termination.Restrict Token Exchange subject_token age
Default: 60Maximum number a subject_token can be used
Default: 1subject_token tolerance NTP drift tolerance.subject_token timestamp clock/transfer tolerance.Token validity in minutes.inthashCode()voidsetAccessTokenTimeToLiveMin(Integer accessTokenTimeToLiveMin) Overrides tokenTimeToLiveMin for the access token.voidsetAllowFormBearerToken(Boolean allowFormBearerToken) Allow access_token in form body
Default: falsevoidsetAllowPublicClientTokenExchange(Boolean allowPublicClientTokenExchange) Allow Token Exchange with Public Client
Default: falsevoidsetAuthorizationCodeTimeToLiveMin(Integer authorizationCodeTimeToLiveMin) Overrides tokenTimeToLiveMin for the authorization code.voidsetClientAssertionExpirationLifeTimeSec(Integer clientAssertionExpirationLifeTimeSec) Restrict client_assertion expiration maxLifeTime
Default: 3600 (1h)voidsetClientAssertionMaxAgeSec(Integer clientAssertionMaxAgeSec) Restrict client_assertion age
Default: 60voidsetClientAssertionNotBeforeToleranceSec(Integer clientAssertionNotBeforeToleranceSec) client_assertion tolerance NTP drift tolerance.voidsetClientAssertionNotOnOrAfterToleranceSec(Integer clientAssertionNotOnOrAfterToleranceSec) client_assertion timestamp clock/transfer tolerance.voidsetEncryptionAlgorithm(String encryptionAlgorithm) Encryption algorithm
Default: RSA-OAEP-256voidsetEncryptionKid(String encryptionKid) Encryption keyIDvoidsetEncryptionMethod(String encryptionMethod) Encryption method
Default: A256GCMvoidsetIdTokenSignature(String idTokenSignature) ID token signature algorithm (many adapters only support RS256)voidsetIdTokenTimeToLiveMin(Integer idTokenTimeToLiveMin) Overrides tokenTimeToLiveMin for the ID token.voidsetRefreshTokenTimeToLiveMin(Integer refreshTokenTimeToLiveMin) Overrides tokenTimeToLiveMin for the refresh token.voidsetRequireAuthorizationConsent(Boolean requireAuthorizationConsent) Require authorization consent (currently unsupported).voidsetRequireIdTokenEncryption(Boolean requireIdTokenEncryption) Allow to enable Encrypted IdToken JWT Singing for Rp.voidsetRequireOpaqueAccessToken(Boolean requireOpaqueAccessToken) Allow to enable Opaque AccessToken for Rp.voidsetRequireOpaqueRefreshToken(Boolean requireOpaqueRefreshToken) Allow to enable Opaque RefreshToken for Rp.voidsetRequireProofKey(Boolean requireProofKey) Require Proof Key for Code Exchange (PKCE).voidsetRequireUserInfoResponseEncryption(Boolean requireUserInfoResponseEncryption) Allow to enable Encrypted UserInfo response
Default: falsevoidsetReuseRefreshTokens(Boolean reuseRefreshTokens) Reuse refresh tokens.voidsetSessionCookieSameSite(String sessionCookieSameSite) Controls the OIDC session cookies sameSite flag None, Strict, Dynamic.voidsetSessionTimeToLiveMin(Integer sessionTimeToLiveMin) Allow to invalidate OIDC sessions before token TTL, keep for 1 minute to allow login sequence termination.voidsetSubjectTokenMaxAgeSec(Integer subjectTokenMaxAgeSec) Restrict Token Exchange subject_token age
Default: 60voidsetSubjectTokenMaxUseCount(Integer subjectTokenMaxUseCount) Maximum number a subject_token can be used
Default: 1voidsetSubjectTokenNotBeforeToleranceSec(Integer subjectTokenNotBeforeToleranceSec) subject_token tolerance NTP drift tolerance.voidsetSubjectTokenNotOnOrAfterToleranceSec(Integer subjectTokenNotOnOrAfterToleranceSec) subject_token timestamp clock/transfer tolerance.voidsetTokenTimeToLiveMin(Integer tokenTimeToLiveMin) Token validity in minutes.toString()
-
Constructor Details
-
OidcSecurityPolicies
public OidcSecurityPolicies() -
OidcSecurityPolicies
public OidcSecurityPolicies(Boolean requireProofKey, Boolean requireAuthorizationConsent, Boolean requireOpaqueAccessToken, Boolean allowFormBearerToken, Boolean requireIdTokenEncryption, Boolean requireOpaqueRefreshToken, Boolean requireUserInfoResponseEncryption, String encryptionAlgorithm, String encryptionMethod, String encryptionKid, Integer tokenTimeToLiveMin, Integer accessTokenTimeToLiveMin, Integer idTokenTimeToLiveMin, Integer refreshTokenTimeToLiveMin, Integer authorizationCodeTimeToLiveMin, Integer sessionTimeToLiveMin, Boolean reuseRefreshTokens, String idTokenSignature, String sessionCookieSameSite, Boolean allowPublicClientTokenExchange, Integer subjectTokenMaxAgeSec, Integer subjectTokenMaxUseCount, Integer subjectTokenNotOnOrAfterToleranceSec, Integer subjectTokenNotBeforeToleranceSec, Integer clientAssertionMaxAgeSec, Integer clientAssertionExpirationLifeTimeSec, Integer clientAssertionNotOnOrAfterToleranceSec, Integer clientAssertionNotBeforeToleranceSec) Creates a newOidcSecurityPoliciesinstance.- Parameters:
requireProofKey- Require Proof Key for Code Exchange (PKCE).
Default: truerequireAuthorizationConsent- Require authorization consent (currently unsupported).
Default: falserequireOpaqueAccessToken- Allow to enable Opaque AccessToken for Rp.
Default: falseallowFormBearerToken- Allow access_token in form body
Default: falserequireIdTokenEncryption- Allow to enable Encrypted IdToken JWT Singing for Rp.
Default: falserequireOpaqueRefreshToken- Allow to enable Opaque RefreshToken for Rp.
Default: falserequireUserInfoResponseEncryption- Allow to enable Encrypted UserInfo response
Default: falseencryptionAlgorithm- Encryption algorithm
Default: RSA-OAEP-256encryptionMethod- Encryption method
Default: A256GCMencryptionKid- Encryption keyIDtokenTimeToLiveMin- Token validity in minutes.accessTokenTimeToLiveMin- Overrides tokenTimeToLiveMin for the access token.idTokenTimeToLiveMin- Overrides tokenTimeToLiveMin for the ID token.refreshTokenTimeToLiveMin- Overrides tokenTimeToLiveMin for the refresh token.authorizationCodeTimeToLiveMin- Overrides tokenTimeToLiveMin for the authorization code.sessionTimeToLiveMin- Allow to invalidate OIDC sessions before token TTL, keep for 1 minute to allow login sequence termination.
Default: 1reuseRefreshTokens- Reuse refresh tokens.
Default: falseidTokenSignature- ID token signature algorithm (many adapters only support RS256)sessionCookieSameSite- Controls the OIDC session cookies sameSite flag None, Strict, Dynamic. Dynamic: Choose None or Strict based on whether the involved URLs are same site or not. (A value of Lax while valid has no benefits over Strict and is too restrictive for cross-domain use.)
Default: DynamicallowPublicClientTokenExchange- Allow Token Exchange with Public Client
Default: falsesubjectTokenMaxAgeSec- Restrict Token Exchange subject_token age
Default: 60subjectTokenMaxUseCount- Maximum number a subject_token can be used
Default: 1subjectTokenNotOnOrAfterToleranceSec- subject_token timestamp clock/transfer tolerance.subjectTokenNotBeforeToleranceSec- subject_token tolerance NTP drift tolerance.clientAssertionMaxAgeSec- Restrict client_assertion age
Default: 60clientAssertionExpirationLifeTimeSec- Restrict client_assertion expiration maxLifeTime
Default: 3600 (1h)clientAssertionNotOnOrAfterToleranceSec- client_assertion timestamp clock/transfer tolerance.clientAssertionNotBeforeToleranceSec- client_assertion tolerance NTP drift tolerance.- Since:
- 1.11.0, 1.14.0, 1.11.0, 1.11.0, 1.11.0, 1.11.0, 1.11.0, 1.11.0, 1.14.0, 1.14.0, 1.14.0, 1.14.0, 1.14.0, 1.14.0, 1.14.0, 1.14.0, 1.14.0
-
-
Method Details
-
getAccessTokenTimeToLiveMin
-
getIdTokenTimeToLiveMin
-
builder
-
getRequireProofKey
Require Proof Key for Code Exchange (PKCE).
Default: true -
getRequireAuthorizationConsent
Require authorization consent (currently unsupported).
Default: false -
getRequireOpaqueAccessToken
Allow to enable Opaque AccessToken for Rp.
Default: false- Since:
- 1.11.0
-
getAllowFormBearerToken
Allow access_token in form body
Default: false- Since:
- 1.14.0
-
getRequireIdTokenEncryption
Allow to enable Encrypted IdToken JWT Singing for Rp.
Default: false- Since:
- 1.11.0
-
getRequireOpaqueRefreshToken
Allow to enable Opaque RefreshToken for Rp.
Default: false- Since:
- 1.11.0
-
getRequireUserInfoResponseEncryption
Allow to enable Encrypted UserInfo response
Default: false- Since:
- 1.11.0
-
getEncryptionAlgorithm
Encryption algorithm
Default: RSA-OAEP-256- Since:
- 1.11.0
-
getEncryptionMethod
Encryption method
Default: A256GCM- Since:
- 1.11.0
-
getEncryptionKid
Encryption keyID- Since:
- 1.11.0
-
getTokenTimeToLiveMin
Token validity in minutes. -
getRefreshTokenTimeToLiveMin
Overrides tokenTimeToLiveMin for the refresh token. -
getAuthorizationCodeTimeToLiveMin
Overrides tokenTimeToLiveMin for the authorization code. -
getSessionTimeToLiveMin
Allow to invalidate OIDC sessions before token TTL, keep for 1 minute to allow login sequence termination.
Default: 1 -
getReuseRefreshTokens
Reuse refresh tokens.
Default: false -
getIdTokenSignature
ID token signature algorithm (many adapters only support RS256) -
getSessionCookieSameSite
Controls the OIDC session cookies sameSite flag None, Strict, Dynamic. Dynamic: Choose None or Strict based on whether the involved URLs are same site or not. (A value of Lax while valid has no benefits over Strict and is too restrictive for cross-domain use.)
Default: Dynamic -
getAllowPublicClientTokenExchange
Allow Token Exchange with Public Client
Default: false- Since:
- 1.14.0
-
getSubjectTokenMaxAgeSec
Restrict Token Exchange subject_token age
Default: 60- Since:
- 1.14.0
-
getSubjectTokenMaxUseCount
Maximum number a subject_token can be used
Default: 1- Since:
- 1.14.0
-
getSubjectTokenNotOnOrAfterToleranceSec
subject_token timestamp clock/transfer tolerance.- Since:
- 1.14.0
-
getSubjectTokenNotBeforeToleranceSec
subject_token tolerance NTP drift tolerance.- Since:
- 1.14.0
-
getClientAssertionMaxAgeSec
Restrict client_assertion age
Default: 60- Since:
- 1.14.0
-
getClientAssertionExpirationLifeTimeSec
Restrict client_assertion expiration maxLifeTime
Default: 3600 (1h)- Since:
- 1.14.0
-
getClientAssertionNotOnOrAfterToleranceSec
client_assertion timestamp clock/transfer tolerance.- Since:
- 1.14.0
-
getClientAssertionNotBeforeToleranceSec
client_assertion tolerance NTP drift tolerance.- Since:
- 1.14.0
-
setRequireProofKey
Require Proof Key for Code Exchange (PKCE).
Default: true -
setRequireAuthorizationConsent
Require authorization consent (currently unsupported).
Default: false -
setRequireOpaqueAccessToken
Allow to enable Opaque AccessToken for Rp.
Default: false- Since:
- 1.11.0
-
setAllowFormBearerToken
Allow access_token in form body
Default: false- Since:
- 1.14.0
-
setRequireIdTokenEncryption
Allow to enable Encrypted IdToken JWT Singing for Rp.
Default: false- Since:
- 1.11.0
-
setRequireOpaqueRefreshToken
Allow to enable Opaque RefreshToken for Rp.
Default: false- Since:
- 1.11.0
-
setRequireUserInfoResponseEncryption
Allow to enable Encrypted UserInfo response
Default: false- Since:
- 1.11.0
-
setEncryptionAlgorithm
Encryption algorithm
Default: RSA-OAEP-256- Since:
- 1.11.0
-
setEncryptionMethod
Encryption method
Default: A256GCM- Since:
- 1.11.0
-
setEncryptionKid
Encryption keyID- Since:
- 1.11.0
-
setTokenTimeToLiveMin
Token validity in minutes. -
setAccessTokenTimeToLiveMin
Overrides tokenTimeToLiveMin for the access token. -
setIdTokenTimeToLiveMin
Overrides tokenTimeToLiveMin for the ID token. -
setRefreshTokenTimeToLiveMin
Overrides tokenTimeToLiveMin for the refresh token. -
setAuthorizationCodeTimeToLiveMin
Overrides tokenTimeToLiveMin for the authorization code. -
setSessionTimeToLiveMin
Allow to invalidate OIDC sessions before token TTL, keep for 1 minute to allow login sequence termination.
Default: 1 -
setReuseRefreshTokens
Reuse refresh tokens.
Default: false -
setIdTokenSignature
ID token signature algorithm (many adapters only support RS256) -
setSessionCookieSameSite
Controls the OIDC session cookies sameSite flag None, Strict, Dynamic. Dynamic: Choose None or Strict based on whether the involved URLs are same site or not. (A value of Lax while valid has no benefits over Strict and is too restrictive for cross-domain use.)
Default: Dynamic -
setAllowPublicClientTokenExchange
Allow Token Exchange with Public Client
Default: false- Since:
- 1.14.0
-
setSubjectTokenMaxAgeSec
Restrict Token Exchange subject_token age
Default: 60- Since:
- 1.14.0
-
setSubjectTokenMaxUseCount
Maximum number a subject_token can be used
Default: 1- Since:
- 1.14.0
-
setSubjectTokenNotOnOrAfterToleranceSec
subject_token timestamp clock/transfer tolerance.- Since:
- 1.14.0
-
setSubjectTokenNotBeforeToleranceSec
subject_token tolerance NTP drift tolerance.- Since:
- 1.14.0
-
setClientAssertionMaxAgeSec
Restrict client_assertion age
Default: 60- Since:
- 1.14.0
-
setClientAssertionExpirationLifeTimeSec
Restrict client_assertion expiration maxLifeTime
Default: 3600 (1h)- Since:
- 1.14.0
-
setClientAssertionNotOnOrAfterToleranceSec
public void setClientAssertionNotOnOrAfterToleranceSec(Integer clientAssertionNotOnOrAfterToleranceSec) client_assertion timestamp clock/transfer tolerance.- Since:
- 1.14.0
-
setClientAssertionNotBeforeToleranceSec
client_assertion tolerance NTP drift tolerance.- Since:
- 1.14.0
-
equals
-
canEqual
-
hashCode
public int hashCode() -
toString
-