SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2023 KANSAI セッションレポート(AD)

これからのOAuth/OIDCで知っておきたいこと。最新の拡張仕様やAuthleteを活用した実装方法

【Session8】認証・認可技術の最新動向:Authleteが考える「これからのOAuth/OIDC」と基盤構築のアプローチ

  • このエントリーをはてなブックマークに追加

Authleteを活用したOAuth/OIDC実装パターン

 OAuth/OIDCの最新動向が分かったところで、実際に実装するにはどうすればよいか。それを解説したのが、森川氏である。まず森川氏はAuthleteというソリューションについて紹介。AuthleteはOAuthやOIDCのプロトコル処理、およびトークンのライフサイクル管理機能をAPIとして提供するサービスである。「OAuth/OIDC Component as a Serviceとして定義している」と森川氏は説明する。OAuthやOIDCに関する複雑な実装や運用をAuthleteが担うことで、「お客さまは業界標準に準拠したAPI認可やID連携の機能をスピーディーに実装できるようになる」(森川氏)という。その一方で、「例えば認可サーバーやアイデンティティプロバイダのUI/UX、お客さま自身の独自ロジックなどはAuthleteに依存することなく、自分たちで作り込むことができます」と、森川氏はAuthleteの特長を説明する。

森川氏
同社 ソリューションコンサルタント 森川 将聖氏

 例えば「既存システムにユーザー管理の仕組みがある」「ユーザー認証は別のソリューションを使いたい」といった場合でも、Authleteはそれらを置き換えることなく、OAuth/OIDCの機能を追加するような形で使うことができるという。

 AuthleteとOAuth/OIDCサーバーの連携フローは、認可リクエストから始まる。認可リクエストを受け付けた認可サーバーは、そのリクエストの内容をそのままAuthleteに送信する。Authleteはその内容に含まれるパラメータを解釈・検証し、認可サーバーに、どのような振る舞いをすべきかを返答する。その後のトークン発行処理もAuthlete側が担当。「トークンの検証や無効化、削除なども含めてAuthlete側で管理することになります」(森川氏)

AuthleteとOAuth/OIDCサーバーの連携フロー
AuthleteとOAuth/OIDCサーバーの連携フロー

 続いてAuthleteを用いた、PARの実装方法を解説。認可サーバーはPARエンドポイントを介してクライアントから認可リクエストの内容を受け取り、request_uriという識別子を発行する。クライアントはそのrequest_uriを用いて、その後の認可フローを進めていくことになる。Authleteを使う場合は、下図のような流れとなる。

Authleteを活用したPARの実装
Authleteを活用したPARの実装

まず認可サーバーは、クライアントからPARエンドポイントに送られた「認可リクエストの内容」を、Authleteに転送する。Authleteはrequest_uriを含むレスポンス内容を返却し、それを受け取った認可サーバーが、クライアントにレスポンスを返却する。クライアントはWebブラウザに、request_uriを含む認可リクエストを、リダイレクトとして返却。するとWebブラウザは、その認可リクエストを、認可サーバーの認可エンドポイントに送信する。認可サーバーがその認可リクエストをAuthleteに転送すると、Authleteが「その認可リクエストに含まれるrequest_uri」と「PARの処理時に受け取った認可リクエストの内容」を保持しているので、その次に行うべき処理を認可サーバーに指示する。

 「Authleteはパラメータのチェックやクライアント認証など、PARエンドポイントへのリクエストが適切かどうかを検証する」と森川氏。またリクエストのパラメータは、URLエンコードされていることが多いが、JWT(JSON Web Token)形式が使われることもある。さらに、暗号化されている可能性もある。Authleteはそのようなリクエストであっても処理できるという。

 Authleteを活用したmTLS・DPoP の実装については、一番メインとなるトークンの発行と検証のフローを紹介。Authleteが担うのは、送信者限定アクセストークンの発行と検証、そして送信者情報とアクセストークンの紐付けの管理である。そのほか、Authleteを活用したRARの実装、CIBAの実装方法についても森川氏は解説。RARの実装ではPARと組み合わせた例を紹介した。

 「AuthleteはOAuth/OIDC仕様に準拠しており、先進的な拡張仕様にも対応できます。コンポーネント型のソリューションなので、認可サーバーを柔軟に開発・運用可能です。当社Webサイトでは無料トライアルのアカウントを発行しています。Webサイトではチュートリアルも提供しているほか、GitHubにてSDKや参照実装も公開しています。ぜひ、興味のある方はAuthleteのアカウントを取得して試してほしいと思います」(工藤氏)

関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Developers Summit 2023 KANSAI セッションレポート連載記事一覧

もっと読む

この記事の著者

丸毛 透(マルモ トオル)

インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

中村 仁美(ナカムラ ヒトミ)

 大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:株式会社Authlete

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/18411 2023/10/24 15:04

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング