OAuth 2.0 PlaygroundでOAuth 2.0のクライアントの気持ちになろう

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のフローをなぞるだけではなく、実際の認可サーバーにアクセスしながらクライアントが「何をすべきか?」を意識して学ぶことができるところが良いなと思いました。

私からは以上です。