Mule OpenID Connect OAuth 2.0 Token Enforcement Policy 構築手順(AIC編)
はじめに
AIC(Akamai Identity Cloud)のOpenIDプロバイダ を利用してMuleのOIDCトークン検証ポリシーが正しく動くのか確認した。その結果を説明する。
目次
以下の手順で説明する。
- AICのOIDCプロバイダーの認証関連のエンドポイントを確認する
- クライアントプロバイダーを設定する
- アクセストークンを取得する
- Mule APIにアクセスする
- アクセストークン検証APIの内容を確認する
詳細
1.AICのOIDCプロバイダーの認証関連のエンドポイントを確認する
OpenIDプロバイダーが提供するOIDCメタデータ取得APIにアクセスして、クライアントプロバイダーの設定に必要な情報を確認する。[issuer]と[authorization_endpoint]、[token_endpoint]、[introspection_endpoint]をメモする。

POSTMANに設定するリクエスト情報は以下の通り。
URL: GET <oidc_url>/.well-known/openid-configuration
AICのAPIクライアント設定情報を確認する。リダイレクトURLをメモする。

URL: GET <oidc_urlのloginを削除する>/config/clients/<janrainOidcClientId>
Header:
Authorization: Bearer <クライアント認証で取得したアクセストークン>
2.クライアントプロバイダーを設定する
MuleSoftの[Client Provider]にAICのOpenIDプロバイダーを設定する。
Anypoint Platformにログインして、[Access Management] > [Client Providers] > [OpenID Connect Dynamic Client Registration]を選択する。

1)で取得したOIDC関連のエンドポイント情報を設定する。

OIDCアクセストークン検証ポリシーを利用する環境にクライアントプロバイダーを設定する。

環境に設定したAICのクライアントプロバイダーを設定する。

APIに利用するクライアントプロバイダーを設定する。

APIインスタンスのポリシー一覧に[OpenID Connect access token enforcement] ポリシーが表示されるので、追加する。

ポリシーの設定は以下の通り。
AICでは、動的クライアント登録機能が提供されていないのでクライアントIDチェックはスキップしている。

2.アクセストークンを取得する
POSTMANの認証機能にAICのAuthorization Code認証方式の設定情報を設定し、アクセストークンを取得する。

Type: OAuth 2.0
Grant Type: Authorization Code(with PKCE)
Callback URL: <APIクライアントのコールバックURI>
Auth URL: <authorization_endpoint>
Access Token URL: <token_endpoint>
Client ID: <janrainOidcClientId>
Client Secret: ブランク
Code Challenge Method: SHA-256
Code Verifier: ブランク
Scope: openid
State: 123
Client Authentication: Send Client credentials in body
3.Mule APIにアクセスする
取得したアクセストークンを利用してMuleのAPIにアクセスする。
ヘッダーにアクセストークンを設定し、MuleのAPIにアクセスしたところ正常に結果が取得できたことが確認できた。

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

4.アクセストークン検証APIの内容を確認する
アクセストークン検証APIでアクセストークンを検証すると、認証で利用したAPIクライアントのクライアントIDと件名にログインユーザのUUIDが設定されていることが確認できた。

さいごに
いかがだったでしょうか?
AICを利用したOIDCアクセストークン適応ポリシーの構築方法について説明しました。ぜひ、利用する場合が参考にしてみてください。では、






