認証・認可を行うためのログインページに遷移します。
💡 「認可エンドポイント」ボタンをクリックすると、Authlete のデフォルト認可エンドポイントに認可リクエスト(インプリシットグラントフロー)を行います。実際には以下の URL です。
https://api.authlete.com/api/auth/authorization/direct/<SERVICE_API_KEY>?response_type=token&client_id=<SAMPLE_APP_CLIENT_ID>
ブラウザはクライアントのリダイレクションエンドポイントに遷移します。 発行されたアクセストークンが表示されます。
また、遷移後の URL のフラグメント部にアクセストークンが含まれています。
https://api.authlete.com/api/mock/redirection/<SERVICE_API_KEY>#access_token=SNqzo...&token_type=Bearer&expires_in=86400&scope=
上記(インプリシットグラントフロー)に続き、認可コードグラントフローを試してみましょう。
1. Web ブラウザーに以下の URL(認可リクエスト)を入力・送信してください。
https://api.authlete.com/api/auth/authorization/direct/<SERVICE_API_KEY>?response_type=code&client_id=<SAMPLE_APP_CLIENT_ID>
response_type=code
である以外は先の認可リクエストと同一です。
<SERVICE_API_KEY>
/ <SAMPLE_APP_CLIENT_ID>
は適宜修正してください。
2. さきほどと同じログインページに遷移します。API キーと API シークレットを入力してください。
3. トークンリクエスト送信ページに遷移します。
client_id
フィールドに
SAMPLE_APP_CLIENT_ID
の値を入力し、Submit ボタンをクリックしてください。
4. トークンレスポンス(JSON 形式)の内容が表示されます。
"access_token"
と "refresh_token"
のそれぞれに値が入っていることを確認してください。
ここまでのセクションでは、Authlete のデフォルトの認可エンドポイント実装を用いて認可フローを試しました。 実環境での Authlete の活用にあたっては、さまざまな方法で、Authlete の Web API を使った認可サーバーを実装することが可能です。
同参照実装は Authlete をバックエンドとして用いています。それにより、認可データ(アクセストークンなど)や認可サーバー設定、そして認可サーバーと連携するクライアントアプリケーションの情報などを管理するためのデータベースを、認可サーバー側にセットアップする手間を省いています。
その結果、下記のいくつかのコマンドだけで、認可サーバー(java-oauth-server)のダウンロードから実行までが完了します。
詳細は java-oauth-server のドキュメントをご参照ください。
$ git clone https://github.com/authlete/java-oauth-server.git $ cd java-oauth-server $ vi authlete.properties
(Authlete サービスインスタンスの API キーとシークレットを記述)$ mvn jetty:run
詳細は spring-oauth-server のドキュメントをご参照ください。
$ git clone https://github.com/authlete/spring-oauth-server $ cd spring-oauth-server $ vi authlete.properties
(Authlete サービスインスタンスの API キーとシークレットを記述)$ mvn spring-boot:run
詳細は csharp-oauth-server のドキュメントをご参照ください。
$ git clone https://github.com/authlete/csharp-oauth-server $ cd csharp-oauth-server/AuthorizationServer $ vi authlete.properties
(Authlete サービスインスタンスの API キーとシークレットを記述)$ dotnet run
詳細は authlete-php-laravel のドキュメントをご参照ください。
$ laravel new authorization-server $ cd authorization-server $ composer require authlete/authlete-laravel $ vi config/authlete.php
(Authlete サービスインスタンスの API キーとシークレットを記述)$ php artisan authlete:authorization-server
ご自身で Authlete の Web API を使って認可サーバーを実装・運用される場合、認証コールバックエンドポイントを実装する必要はありません。その代わり、エンドユーザーの認証に関する部分はご自身で実装いただく必要があります。