> ## Documentation Index
> Fetch the complete documentation index at: https://developers.authlete.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Authlete is a headless solution and provides a set of APIs specialized for OAuth 2.0 and OpenID Connect protocol processing and token lifecycle management.

# What is Authlete?

Authlete is a [BaaS (Backend as a Service)](https://en.wikipedia.org/wiki/Backend_as_a_service) for implementing [OAuth 2.0](https://tools.ietf.org/html/rfc6749) and [OpenID Connect](https://openid.net/). By using the [Web APIs](https://docs.authlete.com/) 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.

# Authlete features

Because Authlete provides APIs to build an authorization server rather than a prebuilt server, it offers the following benefits.

<AccordionGroup>
  <Accordion title="Use your preferred languages and frameworks and shorten development time">
    <img src="https://mintcdn.com/authlete/pF86q1GqbL9jpWh5/img/overview/time_to_market_en.png?fit=max&auto=format&n=pF86q1GqbL9jpWh5&q=85&s=560d8e494ff6b9831859cd8b7b3bc067" alt="Time to market" style={{ maxWidth: '100%', height: 'auto' }} width="1416" height="483" data-path="img/overview/time_to_market_en.png" />

    <p>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.</p>
    <p>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.</p>
  </Accordion>

  <Accordion title="Design consent UI and flows your way">
    <p>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.</p>

    <img src="https://mintcdn.com/authlete/pF86q1GqbL9jpWh5/img/overview/uiux_en.png?fit=max&auto=format&n=pF86q1GqbL9jpWh5&q=85&s=87ac8e5fc712ba7c608f47ecb9d07bbe" alt="UI/UX" style={{ maxWidth: '100%', height: 'auto' }} width="1313" height="528" data-path="img/overview/uiux_en.png" />
  </Accordion>

  <Accordion title="Run and manage multiple authorization servers and API clients with one Authlete account">
    <img src="https://mintcdn.com/authlete/pF86q1GqbL9jpWh5/img/overview/multiple_instances_en.png?fit=max&auto=format&n=pF86q1GqbL9jpWh5&q=85&s=71e34f8c14410549da6c81bfb9c1c155" alt="Multiple instances" style={{ maxWidth: '100%', height: 'auto' }} width="1391" height="653" data-path="img/overview/multiple_instances_en.png" />

    <p>With Authlete you can operate multiple OAuth/OIDC server instances.</p>
    <p>The management console is built for managing multiple instances. You can add and manage instances with different settings from the console without writing extra code.</p>
    <p>You can run separate OAuth/OIDC servers for different use cases—for example, one for mobile apps and one for server-to-server integration, or one for end users and one for admin users—without a large increase in development effort.</p>
  </Accordion>

  <Accordion title="Use any identity, authentication, session, API management, or fraud-detection solution">
    <img src="https://mintcdn.com/authlete/pF86q1GqbL9jpWh5/img/overview/architectural_flexibility_en.png?fit=max&auto=format&n=pF86q1GqbL9jpWh5&q=85&s=40861b2d457af3b2d11ad373682c99bc" alt="Architectural flexibility" style={{ maxWidth: '100%', height: 'auto' }} width="1366" height="641" data-path="img/overview/architectural_flexibility_en.png" />

    <p>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.</p>
  </Accordion>

  <Accordion title="Keep end-user personal data in your own systems">
    <p>When you use Authlete, the only end-user information you need to pass to Authlete is <strong>a stable subject identifier per user</strong>. Authlete accepts that identifier and associates it with tokens and other protocol data.</p>
    <p>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.</p>
    <p>When generating ID tokens, you can send the claims to embed to Authlete’s API to fulfill OpenID Connect behavior.</p>
  </Accordion>

  <Accordion title="Use the latest OAuth and OpenID Connect specifications">
    <p>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.</p>

    <img src="https://mintcdn.com/authlete/pF86q1GqbL9jpWh5/img/overview/latest_specs_en.png?fit=max&auto=format&n=pF86q1GqbL9jpWh5&q=85&s=1a4d2596851d0b9078bab4bc66a4086d" alt="Latest specs" style={{ maxWidth: '100%', height: 'auto' }} width="1368" height="612" data-path="img/overview/latest_specs_en.png" />

    <p>Because OAuth/OIDC behavior is delivered via Web APIs, supporting new specifications places minimal burden on your code. For example, to support PKCE, while the client requests will now include the new PKCE-related parameters, no changes are required to your authorization server implementation.</p>
  </Accordion>
</AccordionGroup>
