OAuth 2.0 PlaygroundでOAuth 2.0のクライアントの気持ちになろう
OAuth 2.0に対応したAPIクライアントのアプリを書きたい気持ちになったのですが、テストをどうするか考えながらOSSの認可サーバーをローカルに立てたりするかなど考えていたら、OAuth 2.0 Playgroundというものを知りました。
こちらは実際に認可サーバーを使ってOAuth 2.0 のクライアントの気持ちになれるチュートリアルで、良さそうだったので紹介します。
OAuth 2.0 Playground
okta社によって提供されている、OAuth 2.0 とOIDCのフローを、実際に体験するためのチュートリアルです。
- Authorization Code
- PKCE
- Implicit
- Device Code
- OpenID Connect
に対応しており、実際に認可サーバーを叩きながらインタラクティブに学ぶことができます。
やってみる
今回はAuthorization Codeでやってみます。
まずフローを選択します。
クライアントを作成します。 認証情報などは自動で払い出されます。
このタイミングで、クライアントだけではなくユーザーのアカウントも払い出されます。
次に、払い出された情報を使ってAuthorization Requestをします。
実際に送るパラメータと、クライアントがこのタイミングでやることが表示されます。(stateを保存しよう!)
Authorization Requestによって、oktaのログイン画面に飛ばされるので、最初に発行されたユーザーの認証情報を入力しサインインします。
認可コードとstateが返ってきました。Clientは先程登録したstateと、返ってきたstateがマッチしていることを確認しましょう。とのことです。
stateがマッチしているのを確認したら、Token Endpointに取得した認可コードを送信します。
アクセストークンが返ってきました。
感想
OAuth 2.0 PlaygroundではただOAuth 2.0のフローをなぞるだけではなく、実際の認可サーバーにアクセスしながらクライアントが「何をすべきか?」を意識して学ぶことができるところが良いなと思いました。
私からは以上です。