Mule OAuth Provider 用 OAuth 2.0 トークン検証ポリシーの構築手順

Stay hungry. Stay foolish. Your time is limited, so don't waste it living someone else's life.

Mule OAuth Provider 用 OAuth 2.0 トークン検証ポリシーの構築手順

はじめに

 OAuthクライアント認証を利用したAPIのアクセス制御機能の技術検証する機会があり、Mule OAuth プロバイダー用OAuthアクセストークン検証ポリシーについて技術調査しましたので、構築手順について説明する。

OAuth 2.0 Token Enforcement Workflow
公式ヘルプ:OAuth2.0 アクセストークン検証ポリシー抜粋

公式ヘルプ:OAuth2.0 アクセストークン検証ポリシー

構築手順

下記の手順で構築する。

  1. Mule OAuth プロバイダーを構築する。
  2. POSTMANでOAuthプロバイダーの動作を確認する。
  3. Mule OAuth 2.0 トークン検証ポリシーを設定する。
  4. POSTMANでアクセストークン検証の動作を確認する。

手順詳細

1.Mule OAuth プロバイダーを構築する。

Mule OAuthプロバイダーで個別実装で用意するListenerは2つである。
1つがクライアント登録用Listenerとも一つがトークン検証用Listenerである。
まず最初に、クライアント登録用のListenerを作成する。
サンプルを確認したい場合は下記を利用する。

GitHut:サンプルプログラム

[Path]は、”clientCreation”にした。

Mule OAuthプロバイダーモジュールをMuleプロジェクトに追加する。
[Search in Exchange]をクリックして、[OAuth Provider Module]を追加する。

[Mule Plalette] の [Add Modules] を押下し、[Object Store]モジュールをMuleプロジェクトに追加する。
※Mule Provider モジュールの中で、Object Storeモジュールを設定する箇所があり、必ず設定前に追加すること。

クライアント管理用のObjectStoreを設定する。
[Module configuration]の[+]ボタンを押下する。

[Client store]の[+]ボタンを押下する。
[Client store]設定後、 [Supported grant types]の入力欄に、”CLIENT_CREDENCIALS”を入力する。
そして、[Token config]を[Edit inline]に変更する。
[Token store]の[+]ボタンを押下する。

[Name]は、”Client_Object_store”に変更する。

[Name]は、”Token_Object_store”に変更する。

トークン検証用Listenerを設定する。
[Path]は、”/validateToken”とした。

設定は以上となる。

3.POSTMANでOAuthプロバイダーの動作を確認する。

OAuthプロバイダーにクライアント認証用のクライアントを登録する。
[client_id]や[client_secret]、[client_name]の数値は任意で問題ないが、アクセストークン発行時に、同じ値を入力すためメモする。

クライアント認証を実行して、アクセストークンを取得する。

発行したアクセストークンを検証する。

3.Mule OAuth 2.0 トークン検証ポリシーを設定する。

適応したいAPIインスタンスに、[OAuth 2.0 access token enforcement using Mule OAuth provider]Policyを追加する。

Mule OAuth Providerのトークン検証APIのパスを設定する。

今回に限り、クライアントIDの検証はスキップする。

Runtime Managerのプロパティー設定は、何もしなくてもよい。

4.POSTMANで動作を確認する。

正しいアクセストークンを設定すると正常のレスポンスを受け取ることができる。

アクセストークンを設定しないと、エラーが返却される。

アクセストークンが正しくない場合もエラーが返却される。

さいごに

 いかがだったでしょうか?
 構築は簡単です。是非活用してみてください。では、