Skip to main content

Authlete(オースリート)とは?

Authlete は、OAuth 2.0 および OpenID Connect を実装するための BaaS (Backend as a Service) です。Authlete が提供する Web API を利用することで、OAuth 2.0 と OpenID Connect の機能をより少ない工数で実装できます。

なぜ Authlete が必要なのか?

Web API を公開する際、サービスプロバイダー側には OAuth 2.0(および OpenID Connect)の実装が求められます。しかし、この実装は決して容易ではなく、多くのリソースと時間を必要とします。また、個人データの管理にも細心の注意を払わなければなりません。限られたエンジニアリングリソースをこれらの課題に費やしながら、競合他社よりも早くサービスを立ち上げることは困難です。 Authlete は、これらの課題の解決を支援します。Authlete は、すでに標準化された仕様だけでなく、API 認可関連のドラフト段階の仕様も数多くサポートしています。Authlete を使用することで、Web API の公開に必要となる仕組みを容易に実装できます。

Authlete の特長

Authlete は、構築済みの認可サーバーを提供するのではなく、認可サーバーを構築するための「API」を提供するアプローチを採用しているため、以下のようなメリットがあります。
Time to market

Authlete の最大の特徴は、OAuth 2.0 および OpenID Connect サーバーの実装に必要なすべての機能が、Web API として設計・実装されている点です。クライアントアプリケーションの登録や認可サーバーのメタデータ管理だけでなく、認可エンドポイントやトークンエンドポイントの背景にあるロジック自体も Web API 経由で提供されます。

その結果、Java、Ruby、PHP、C# など、あらゆる言語やフレームワークで Authlete を利用できます。OSS のライブラリを活用すれば、数日から数週間でサーバーを実装可能です。

Authlete は、OAuth/OIDC の挙動を Web API 経由で提供します。認可エンドポイントやトークンエンドポイント自体はお客様の環境で動作するため、製品やブランドに合わせた同意 UI やユーザーフローを自由にデザインできます。

UI/UX
Multiple instances

Authlete では、複数の OAuth/OIDC サーバーインスタンスを運用できます。

管理コンソールは複数インスタンスの管理を前提に構築されています。コンソールから、追加のコードを書くことなく、異なる設定を持つインスタンスを追加・管理できます。

たとえば「モバイルアプリ用とサーバー間連携用」、あるいは「一般ユーザー用と管理者ユーザー用」など、ユースケースごとに独立した OAuth/OIDC サーバーを、開発負荷を大きく増やすことなく運用可能です。

Architectural flexibility

Authlete は認可機能に特化しているため、あらゆるユーザー認証、アイデンティティ基盤、または API 管理ソリューションと組み合わせて動作します。既存の認証・アイデンティティ基盤を維持したまま、最小限の開発で OAuth/OIDC 機能を追加できます。

Authlete を使用する際、Authlete 側に渡す必要があるエンドユーザーの情報は、ユーザーごとに固定された一意の識別子(サブジェクト識別子:subject)のみです。Authlete はこの識別子を受け取り、トークンやその他のプロトコルデータと紐付けます。

エンドユーザーの氏名、メールアドレス、パスワードなどの認証情報を Authlete と共有する必要はありません。この点は、オールインワン型の認証・認可ソリューションとの大きな違いです。

ID トークンを生成する際は、埋め込むクレーム(属性情報)を Authlete の API に送信するだけで、OpenID Connect に準拠した動作を実現できます。

Authlete は RFC 6749 をはじめ、数多くの仕様をサポートしています。OpenID Connect の公式認定(Certified)を取得しているほか、商用環境に対応したソリューションとして世界で初めて Financial-grade API (FAPI) の認定を取得しました。

Latest specs

OAuth/OIDC のプロトコル処理は Web API を介して提供されるため、新しい仕様への対応にともなうお客様側のコード改修の負担は最小限に抑えられます。たとえば、PKCE をサポートする場合、クライアントからのリクエストには新たに PKCE 関連のパラメーターが含まれることになりますが、一方、お客様の認可サーバーの実装を変更する必要はありません。