What is Authlete?
Authlete is a BaaS (Backend as a Service) for implementing OAuth 2.0 and OpenID Connect. By using the Web APIs that Authlete provides, you can implement OAuth 2.0 and OpenID Connect functionality with less effort.Why do you need Authlete?
When you implement a Web API, you need to implement OAuth 2.0 (and OpenID Connect) on the service provider side. That implementation is not trivial and often requires significant resources and time. Managing personal data also demands great care. Using limited engineering resources to address these challenges while launching before competitors is difficult. Authlete helps you address these challenges. Authlete supports many finalized and draft API authorization-related specifications. Using Authlete makes it relatively easy to implement a Web API.How Authlete works
Authlete uses a semi-hosted architecture: it is not an authorization server itself but provides APIs to build one. When you use Authlete, you build and run the front-end authorization server in your own environment and call Authlete from there. End users and application developers do not access Authlete directly.
Authlete features
Because Authlete provides APIs to build an authorization server rather than a prebuilt server, it offers the following benefits.Use your preferred languages and frameworks and shorten development time
Use your preferred languages and frameworks and shorten development time

What distinguishes Authlete is that all functionality required to implement an OAuth 2.0 and OpenID Connect server is designed and implemented as Web APIs. Not only client application registration and authorization server metadata management, but also the logic behind authorization and token endpoints is provided via Web APIs.
As a result, you can use Authlete with any language or framework—Java, Ruby, PHP, C#, and more. Using OSS libraries, you can implement a server in days to weeks.
Design consent UI and flows your way
Design consent UI and flows your way
Authlete delivers OAuth/OIDC behavior through Web APIs. The authorization and token endpoints run in your environment. So you can design the consent UI and user flow to match your product and brand.

Run and manage multiple authorization servers and API clients with one Authlete account
Run and manage multiple authorization servers and API clients with one Authlete account
Use any identity, authentication, session, API management, or fraud-detection solution
Use any identity, authentication, session, API management, or fraud-detection solution

Authlete focuses on authorization and works with any user authentication, identity, or API management solution. You can keep your existing authentication and identity infrastructure and add OAuth/OIDC with minimal development.
Keep end-user personal data in your own systems
Keep end-user personal data in your own systems
When you use Authlete, the only end-user information you need to pass to Authlete is a stable subject identifier per user. Authlete accepts that identifier and associates it with tokens and other protocol data.
You do not need to share end-user names, email addresses, or credentials with Authlete. This is a major difference from all-in-one authentication-and-authorization solutions.
When generating ID tokens, you can send the claims to embed to Authlete’s API to fulfill OpenID Connect behavior.
Use the latest OAuth and OpenID Connect specifications
Use the latest OAuth and OpenID Connect specifications
Authlete supports RFC 6749 and many other specifications. It is OpenID Connect certified and was the first production-ready solution to achieve Financial-grade API (FAPI) certification.

Because OAuth/OIDC behavior is delivered via Web APIs, supporting new specifications places minimal burden on your code. For example, to support PKCE you only need to add the relevant parameters from the client; no change is required in your authorization server implementation.
Below is a subset of the specifications Authlete currently supports (some features are available on Enterprise plans only).
Authlete proprietary features
Authlete implements proprietary features beyond what is specified in OAuth 2.0 and OpenID Connect, in response to customer needs. Some of these features are available on Enterprise plans only.Detailed error messages
Detailed error messages
Authlete API responses include result codes and detailed descriptions.
For example: “The host of the redirect URI must be ‘localhost’ when the client’s application type is ‘native’ and the scheme of the redirect URI is ‘http’.”
Using these messages helps developers of the authorization server, resource server, and client applications resolve issues faster.
Client ID alias
Client ID alias

With Authlete’s Client ID Alias feature, each client can have an application-defined client ID in addition to the numeric client ID assigned by Authlete.
This is useful when you already have an authorization server and clients with existing client IDs and want to migrate to Authlete without changing those IDs.
For details, see Using Client ID alias.
Token properties (extra properties)
Token properties (extra properties)
Authlete lets you attach arbitrary key-value properties to access tokens or authorization codes. This makes it easier for the authorization server to pass information needed for API authorization or request handling to the resource server.
For example, for a banking API that supports transfers, you could avoid defining a separate scope for every “transfer X yen to payee Y” combination by storing payee and amount as properties on the access token. The API can read those properties from the token and decide whether to allow the transfer.
For details, see How to add extra properties to an access token.
Token duration per client or scope
Token duration per client or scope

Authlete lets you set shorter access or refresh token lifetimes per client or per scope.
For scope-based duration, use scope attributes: set the attribute key to access_token.duration or refresh_token.duration and the value to the lifetime in seconds. For details, see Token duration per scope.
Per-client settings can be changed in the Developer Console by users with administrator rights, under the “Extended” tab.
Refresh token reuse (on/off)
Refresh token reuse (on/off)
Authlete lets you choose whether a refresh token can be reused after it is used to obtain new access tokens.
When “reuse off” is selected, a new refresh token is issued when access tokens are refreshed, and its lifetime is renewed. In this mode, users who call the API regularly within the refresh token lifetime do not need to re-authenticate, while users who stay inactive must re-authenticate when they return.
When “reuse on” is selected, the same refresh token remains valid after use. In this mode, users must re-authenticate when the refresh token expires, regardless of how often they use the API.
For details, see Refresh tokens after being used.
Require S256 for PKCE
Require S256 for PKCE
Authlete can require code_challenge_method=S256 for token requests that use PKCE. Requests with code_challenge_method=plain or without code_challenge_method can be rejected.
Single access token per user and client
Single access token per user and client
You can limit to one the number of access tokens issued per user-and-client pair.
For details, see Enabling single access token per subject.
Authorized scope management
Authorized scope management
PKI chain verification for tls_client_auth
PKI chain verification for tls_client_auth
When authenticating clients with tls_client_auth, Authlete can verify the client certificate’s PKI chain.
Configurable clock skew tolerance
Configurable clock skew tolerance
You can configure the allowed time difference in seconds between server and client clocks.
Require binding_message for FAPI-CIBA
Require binding_message for FAPI-CIBA
When a CIBA backchannel authentication request is treated as a FAPI request, Authlete can require that the request include binding_message.
OpenID Connect certifications
Authlete is certified for multiple OpenID Provider (OP) profiles. The following is a subset of the OpenID Connect protocol profiles with which Authlete complies. OpenID Provider (1.1– / 2.1–)- 1.1–
- Basic OP
- Implicit OP
- Hybrid OP
- Config OP
- 2.1–
- Dynamic OP
- Form Post OP
- 2.1–
- Financial-grade API (FAPI) 1.0 Second Implementer’s Draft
- FAPI R/W OP w/ MTLS
- FAPI R/W OP w/ Private Key
- Financial-grade API (FAPI) 1.0 Second Implementer’s Draft
- 2.2–
- Financial-grade API (FAPI) 1.0 Final
- FAPI Adv. OP w/ MTLS
- FAPI Adv. OP w/ MTLS, PAR
- FAPI Adv. OP w/ Private Key
- FAPI Adv. OP w/ Private Key, PAR
- FAPI Adv. OP w/ MTLS, JARM
- FAPI Adv. OP w/ Private Key, JARM
- FAPI Adv. OP w/ MTLS, PAR, JARM
- FAPI Adv. OP w/ Private Key, PAR, JARM
- UK Open Banking (Based on FAPI 1 Advanced Final)
- Australia CDR (Based on FAPI 1 Advanced Final)
- Brazil Open Banking (Based on FAPI 1 Advanced Final)
- Financial-grade API (FAPI) 1.0 Final
- 2.3–
- Brazil Open Insurance, KSA Open Banking, and other FAPI-based profiles
- FAPI-CIBA OP Poll w/ MTLS
- FAPI-CIBA OP Poll w/ Private Key
- FAPI-CIBA OP Ping w/ MTLS
- FAPI-CIBA OP Ping w/ Private Key
- FAPI 2.0 Security Profile and Message Signing profiles
- Australia FAPI 2.0 ConnectId Implementer’s Draft
