Overview
Over the years, Authlete has implemented a large number of standard specifications. Among them, there have been several occasions where changes to Authlete’s implementation were necessary due to overlooked details, misinterpretations, or breaking changes in the specifications themselves. This article shares various flags created from these challenges. Service flags in Authlete provide essential configuration flexibility that allows developers to fine-tune the behavior of their OAuth 2.0 and OpenID Connect implementations. These boolean switches and configuration parameters enable organizations to balance strict specification compliance with practical deployment considerations. Service flags serve multiple crucial purposes:- Allow gradual migration to stricter compliance requirements without breaking existing integrations
- Provide options for handling edge cases or ambiguities in the specifications
- Enable customization of security policies to meet specific organizational requirements
- Facilitate interoperability with a wide range of client applications, including those that may not fully comply with the latest standards
Flags for Specification Compliance
The table below shows an overview of the Authlete service flags:Configure Flags in the Management Console
Starting with Authlete 3.0, flags have been introduced in the management console to enforce strict requirements to meet OAuth/OIDC specifications. The following sections demonstrate configuring service setting flags in the Authlete Management Console:Client ID Omission
To Configure theService.missingClientIdAllowed flag in the management console:
- Navigate to **Service Settings > Endpoints > Token > General **
- To enable the flag, toggle the
“Client ID Omission"option. - Click Save Changes to apply the updates.
Client ID Omission
Restrict Shortcut
To Configure theService.claimShortcutRestrictive flag in the management console:
- Navigate to Service Settings > Tokens and Claims > Claims > Supported Claims
- To turn on, toggle the
“Restrict Shortcut”option. - Click Save Changes to apply the updates.
Restrict Shortcut
DCR with Duplicate Software ID
To Configure theService.dcrDuplicateSoftwareIdBlocked flag in the management console:
- Navigate to **Service Settings > Endpoints > Advanced > Dynamic Client Registration **
- Go to
“DCR with Duplicate Software ID”and toggle theAcceptoption. - Click Save Changes to apply the updates.
DCR with Duplicate Software ID
DCR’s Scope Parameter
To Configure theService.dcrScopeUsedAsRequestable flag in the management console:
- Navigate to **Service Settings > Endpoints > Advanced > Dynamic Client Registration **
- Go to
"DCR's Scope Parameter"and toggle theEnableoption. - Click Save Changes to apply the updates.
DCR’s Scope Parameter
Encryption in Front Channel
To Configure theService.frontChannelRequestObjectEncryptionRequired flag in the management console:
- Navigate to Service Settings > Endpoints > Authorization > Request Object
- Go to
"Encryption in Front Channel"and toggle theRequireoption. - Click Save Changes to apply the updates.
Encryption in Front Channel
Choose Audience Claim Format
To Configure theService.idTokenAudType flag in the management console:
- Navigate to Service Settings > Tokens and Claims > ID Token
- Open the
“Choose Audience Claim Format”menu and select an option. - Click Save Changes to apply the updates.
Choose Audience Claim Format
Enable Reissuable
To Configure theService.idTokenReissuable flag in the management console:
- Navigate to Service Settings > Tokens and Claims > ID Token
- Under
ID Tokenssection, toggle the"Enable Reissuable”option. - Click Save Changes to apply the updates.
Enable Reissuable
Issuer Identification Response Parameter
To Configure theService.issSuppressed flag in the management console:
- Navigate to Service Settings > Endpoints > Authorization
- Under
"Issuer Identification Response Parameter", toggle theSuppress iss Response Parameteroption. - Click Save Changes to apply the updates.
Issuer Identification Response Parameter
Loopback Redirection URI
To configure theService.loopbackRedirectionUriVariable flag in the management console:
- Navigate to Service Settings > Endpoints > Authorization > General
- Go to
"Loopback Redirection URI"and toggle theLoopback Redirection URIoption. - Click Save Changes to apply the updates.
Loopback Redirection URI
nbf claim
To configure theService.nbfOptional flag in the management console:
- Navigate to **Service Settings > Endpoints > Authorization > Request Object **
- Go to
"nbf claim""and toggle the"Require"option. - Click Save Changes to apply the updates.
nbf claim
Enable Idempotency
To configure theService.refreshTokenIdempotent flag in the management console:
- Navigate to **Service Settings > Tokens and Claims > Refresh Tokens > General **
- Under
Refresh Token Rotation, toggle theEnable Idempotencyoption. - Click Save Changes to apply the updates.
Enable Idempotency
Enable Token Rotation
To configure theService.refreshTokenKept flag in the management console:
- Navigate to **Service Settings > Token and Claims > Refresh Tokens **
- Under
Refresh Token Rotation, toggle the"Enable Token Rotation"option. By defaultEnable Token Rotationis enabled. - Click Save Changes to apply the updates.
Enable Token Rotation
Encryption Algorithm Match
To configure theService.requestObjectEncryptionAlgMatchRequired flag in the management console:
- Navigate to **Service Settings > Endpoints > Authorization > Request Object **
- Go to the
"Encryption Algorithm Match"option, toggleRequire. - Click Save Changes to apply the updates.
Encryption Algorithm Match
Encryption Encoding Algorithm Match
To configure theService.requestObjectEncryptionEncMatchRequired flag in the management console:
- Navigate to **Service Settings > Endpoints > Authorization > Request Object **
- Go to the
"Encryption Encoding Algorithm Match"and toggleRequire. - Click Save Changes to apply the updates.
Encryption Encoding Algorithm Match
Requests Without Scope Parameter
To configure theService.scopeRequired flag in the management console:
- Navigate to **Service Settings > Tokens and Claims > Advanced > Scopes **
- Go to
"Requests Without Scope Parameter"and toggleReject. - Click Save Changes to apply the updates.
Requests Without Scope Parameter
Request Object Processing
To configure theService.traditionalRequestObjectProcessingApplied flag in the management console:
- Navigate to **Service Settings > Endpoints > Authorization > Request Object **
- Go to
"Request Object Processing"and toggle theEnable JAR Compatibilityoption. - Click Save Changes to apply the updates.
Request Object Processing
Return UNAUTHORIZED
To configure theService.unauthorizedOnClientConfigSupported flag in the management console:
- Navigate to **Service Settings > Endpoints > Advanced > Dynamic Client Registration **
- Go to
"Client Configuration Error Behavior"option and toggleReturn UNAUTHORIZED. - Click Save Changes to apply the updates.
Return UNAUTHORIZED
Example Request
Service Configurations forService.setUnauthorizedOnClientConfigSupported flag. The following example uses a POST request /api/{serviceId}/service/update.
- Authlete API Request that shows how to update the
unauthorizedOnClientConfigSupportedflag totrue.
${SERVICE_API_KEY}— サービス ID${SERVICE_ACCESS_TOKEN}— コンソールで発行したサービスアクセストークン- API クラスターのホスト名 —
us、jp、eu、brのいずれか
Further Reading
- For more in-depth information, see OAuth/OIDC Implementation Mistakes! How We Overcame Overlooked Details and Breaking Changes in the Specifications