Mule OpenIDプロバイダーを作成してMuleのOIDCアクセストークン検証ポリシーを利用する
はじめに
既に稼働しているOpenIDプロバイダーを利用してOIDCアクセストークン適応ポリシーを利用する場合、既存のクライアントIDをMuleに登録できないという問題が発生しる。今回は、その前段として既存MuleアプリケーションでモックレベルのOpenIDプロバイダーを構築し、OIDCアクセストークン適応ポリシーが動くか確認した。
成功すれば、一時的に動的クライアント登録APIを切り替えることで既存のクライアントIDを利用できるようにしたい。
目次
下記の手順で構築する。
- OpenIDプロバイダのAPI仕様を準備する
- Muleアプリケーションを実装する
- クライアントプロバイダーを設定する
- 環境に割り当てをする
- APIにクライアントプロバイダーを割り当てる
- APIにOIDCアクセストークン適応ポリシーを割り当てる
- クライアントアプリケーションを登録する
- 動作を確認する
手順説明
1.OpenIDプロバイダのAPI仕様を準備する
OktaのOpenIDプロバイダーを見本に、API仕様を作成する。
#%RAML 1.0
title: OpenID provider
version: v0
/oauth2/default/.well-known/openid-configuration:
get:
responses:
200:
body:
application/json:
example: !include examples/metadata.json
/oauth2/v1/clients:
post:
headers:
authorization: string
body:
application/json:
properties:
client_name:
type: string
responses:
201:
body:
application/json:
example: !include examples/clients_response.raml
403:
body:
application/json:
example: !include examples/clients_forbidden_response.json
/oauth2/default/v1/introspect:
post:
body:
application/x-www-form-urlencoded:
properties:
client_id:
type: string
client_secret:
type: string
token:
type: string
responses:
200:
body:
application/json:
example: !include examples/introspection_response.json
2.Muleアプリケーションを実装する

3.クライアントプロバイダーを設定する

Name: {}
Dynamic Client Registration:
Issuer: https://{domain}/oauth2/default
Client Registration URL: https://{domain}/oauth2/v1/clients
Authorization Hader: SSWS XXXXX
Token Introspection Client:
Client ID: XXXXX
Client Secret: XXXXX
OpenID Connect Authorization URLs:
Authorize URL: https://{domain}/oauth2/default/v1/authorize
Token URL: https://{domain}/oauth2/default/v1/token
Token Introspection URL: https://{domain}/oauth2/default/v1/introspect
4.環境に割り当てをする


5.APIにクライアントプロバイダーを割り当てる

6.APIにOIDCアクセストークン適応ポリシーを割り当てる


7.クライアントアプリケーションを登録する





8.動作を確認する
OIDCアクセストークン適応ポリシーでトークンの有効性とクライアントIDチェックを行い。正常にAPIの結果を確認できた。


さいごに
いかがだったでしょうか?モックレベルのMuleアプリケーションのOpenIDプロバイダーを作成しOIDCアクセストークン適応ポリシーが動くことが確認できました。
ぜひ、活用してみてください。では






