Mule OpenID Connect OAuth 2.0 Token Enforcement Policy 構築手順(AIC編)

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

Mule OpenID Connect OAuth 2.0 Token Enforcement Policy 構築手順(AIC編)

はじめに

AIC(Akamai Identity Cloud)のOpenIDプロバイダ を利用してMuleのOIDCトークン検証ポリシーが正しく動くのか確認した。その結果を説明する。

目次

以下の手順で説明する。

  1. AICのOIDCプロバイダーの認証関連のエンドポイントを確認する
  2. クライアントプロバイダーを設定する
  3. アクセストークンを取得する
  4. Mule APIにアクセスする
  5. アクセストークン検証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アクセストークン適応ポリシーの構築方法について説明しました。ぜひ、利用する場合が参考にしてみてください。では、