Table of Contents
このドキュメントでは、Authlete に初めてサインアップし、新規 Authlete API サービスの作成と、そのサービスに新規クライアント登録を行うまでの手順について説明します。
本チュートリアルでは以下の順序で設定を進めます。
Authlete を認可サーバーのバックエンドとして用いる場合には、まず Authlete の「サービスオーナー」のアカウントを取得する必要があります。 取得は以下のページから行います。入力した「ログインID」と「パスワード」を忘れないようにしましょう。
https://so.authlete.com/accounts/signup
アカウントが登録されているかどうか、「サービス管理者コンソール」へログインして確認してみましょう。 Web ブラウザを用いて以下のページにアクセスし、「ログインID」と「パスワード」を用いてログインします。
https://so.authlete.com/accounts/login
ログインに成功すると以下のようなページが表示されます。
これで Authlete のサービス管理者機能が利用できるようになりました。 なおログアウトする場合にはページ右上の「ログアウト」をクリックします。
それでは、最初の Authlete API サービスを準備します。 再度 Authlete のサービス管理者コンソール https://so.authlete.com/accounts/login にログインし、右側の「サービス作成」をクリックします。
サービス作成のページが表示されます。任意の「サービス名」を入力し、「作成」をクリックします。 確認のダイアログが表示されるので「OK」をクリックします。
新規サービスの作成が完了しました。
自動生成された「APIキー」と「APIシークレット」は、次にクライアントアプリ開発者コンソールにログインするときのログインID・パスワードとして用いるとともに、認可サーバーが Authlete API にリクエストを行う際のクレデンシャルとなります。
また、「クライアントアプリ開発者コンソール」の URL が表示されています。次の手順では、この URL にアクセスすることになります。
項目 | 値 |
---|---|
API キー | 自動生成された値(例: 10723797812772 ) |
API シークレット | 自動生成された値(例: ekYoYTI84qZcpe6bXGzDwduQ1fGBYxJT8K8Tnwd7poc ) |
クライアントアプリ開発者コンソール | 自動生成された値(例: https://cd.authlete.com/10723797812772 ) |
次に、この新規サービスに、さらに新規クライアントの設定を追加します。
Authlete のクライアントアプリ開発者コンソール(例: https://cd.authlete.com/10723797812772
)にアクセスし、ログイン ID として先ほど作成したサービスの「API キー(例: 10723797812772
)」を、パスワードとして同じく「API シークレット(例: ekYoYTI84qZcpe6bXGzDwduQ1fGBYxJT8K8Tnwd7poc
)」を用いてログインします。
クライアントアプリ開発者コンソールのログイン後のページです。右手にある「アプリ作成」をクリックします。
アプリ作成のページです。まず「基本情報」タブが表示されます。
本チュートリアルでは以下のような OAuth/OIDC クライアントを登録することとします。
Authorization: Basic
に指定して送信
(同 2.3.1. Client Password)https://client.example.org/cb/example.com
を使用
(同 3.1.2. Redirection Endpoint)まず、任意の「クライアント名」を入力します。 またクライアントタイプとして CONFIDENTIAL を選択します。次に、「基本情報」タブの隣にある「認可」タブをクリックします。
「認可」タブをクリック後のページです。ここでは「リダイレクト URI」と「クライアント認証方式」を、以下の通り指定します。
項目 | 値 |
---|---|
リダイレクト URI | https://client.example.org/cb/example.com |
クライアント認証方式 | CLIENT_SECRET_BASIC |
指定後、ページ下方にある「作成」をクリックします。確認のダイアログが表示されるので「OK」をクリックします。
これにより、サービスへのクライアント情報の登録が完了しました。
自動生成されている「クライアント ID」と「クライアントシークレット」はそれぞれ、クライアントが認可サーバーにリクエストを行う際の client_id
と client_secret
の値として用いられます。
また、そのほか指定した各値が正しく設定されていることも確認しましょう。
項目 | 値 |
---|---|
クライアント ID | 自動生成された値(例: 12800697055611 ) |
クライアントシークレット | 自動生成された値(例: dcDHEXr_tXNi7QdIMXLSXpXAy_j7Cr4C4LT2xAukQcW_09E2Ag1jTBdwpQrG-HBxflPF4Bz_Nb9Zd_ySAxOs6A ) |
クライアントタイプ | CONFIDENTIAL |
リダイレクト URI | https://client.example.org/cb/example.com |
クライアント認証方式 | CLIENT_SECRET_BASIC |
以上により、最小限の構成が完成しました。
構成した環境が正しく動作するかどうか、Authlete の /auth/authorization
API を用いて確認します。
認可サーバーの立場になり、この API にリクエストしてみましょう。
curl コマンドを以下のように実行します(メッセージ番号 4)。なお、API Key
, API Secret
, Client ID
は、本チュートリアルの過程にて生成された値に置き換えてください。
curl -s -X POST https://api.authlete.com/api/auth/authorization \
-u '<API Key e.g. 10723797812772>:<API Secret e.g. ekYoYTI84qZcpe6bXGzDwduQ1fGBYxJT8K8Tnwd7poc>' \
-H 'Content-Type: application/json' \
-d '{ "parameters": "redirect_uri=https://client.example.org/cb/example.com&response_type=code&client_id=<Client ID e.g. 12800697055611>" }'
Windows 10 の PowerShell から curl.exe コマンドを用いる場合には、以下のようになります。curl
ではなく curl.exe
とすること、"
をエスケープすること、行の区切りに `
を用いることにご注意ください。(メッセージ番号 4)。
なお、API Key
, API Secret
, Client ID
は、本チュートリアルの過程にて生成された値に置き換えてください。
curl.exe -s -X POST https://api.authlete.com/api/auth/authorization `
-u '<API Key e.g. 10723797812772>:<API Secret e.g. ekYoYTI84qZcpe6bXGzDwduQ1fGBYxJT8K8Tnwd7poc>' `
-H 'Content-Type: application/json' `
-d '{\"parameters\" : \"redirect_uri=https://client.example.org/cb/example.com&response_type=code&client_id=<Client ID e.g. 12800697055611>\"}'
リクエストが適切な場合、Authlete から以下のようなレスポンス(見やすさのため改行し一部省略)が返却されます。
{
"resultMessage" : "[A004001] Authlete has successfully issued a ticket to the service (API Key = 10723797812772) for the authorization request from the client (ID = 12800697055611). [response_type=code, openid=false]",
"type" : "authorizationResponse",
"resultCode" : "A004001",
"client" : { [...] },
"ticket" : "bi2Kxe2WW5mK_GZ_fDFOpK1bnY6xTy40Ap_8nxf-7AU",
"action" : "INTERACTION",
[...]
"service" : {
[...]
"supportedClaims" : [
[...]
],
"supportedScopes" : [
[...]
],
}
}
本チュートリアルでは、新規登録から Authlete サービス作成までの手順を確認しました。
以下の関連記事をチェックし、OAuth/OIDC サーバーの実装と Authlete サービスの設定を行いましょう。