MuleにOpen IDプロバイダーのクライアントIDのインポートする

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

MuleにOpen IDプロバイダーのクライアントIDのインポートする

はじめに

既に稼働しているOpenIDプロバイダーを利用したアプリケーションから新規でMuleSoftのAPIを呼び出す場合に、OpenIDプロバイダーが発行している既存クライアントIDをMuleSoftにインポートする必要がある。ただし、Muleの標準機能ではクライアントIDのインポート機能がないため利用できない。
今回は、暫定的にインポートできる方法を紹介する。

目次

  1. OpenIDプロバイダー(Okta)を利用したAPIを準備する
  2. 既存クライアントIDインポート用モックAPIに切り替える
  3. 元のOpenIDプロバイダーの動的クライアント登録APIに戻す
  4. 新規クライアントアプリケーションが登録できるか確認する
  5. OIDCトークン適応ポリシーが正しく動作するか確認する

手順詳細

1.OpenIDプロバイダー(Okta)を利用したAPIを準備する

Oktaのクライアントプロバイダーを登録する。赤枠はOpenIDプロバイダーの動的クライアント登録APIを登録する。

OIDCトークン適応ポリシーは、クライアントIDをチェックする設定にする。

アクセスリクエストでクライアントアプリケーションを登録する。

クライアントアプリケーションは、登録する順番がわかるように”Okta Client App01″とした。

2.既存クライアントIDインポート用モックAPIに切り替える

OpenIDプロバイダーに直接、クライアントアプリケーションを登録する。

クライアントアプリケーションの設定は以下の通り。

クライアントアプリケーションの名前は登録順序がわかるように、”Okta Client App02 – Direct Register”とした。

登録したクライアントアプリケーションのクライアントIDとクライアントシークレットをメモする。

クライアントIDインポート用モックアプリケーションのRuntime PropertiesにクライアントIDとクライアントシークレットを設定する。

クライアントプロバイダーの動的クライアント登録APIのパスをモックアプリケーションに設定する。

アクセスリクエストでクライアントアプリケーションを登録する。
先ほどOktaに作ったクライアントアプリケーションと同じ名前にする。

登録できたことを確認する。

3.元のOpenIDプロバイダーの動的クライアント登録APIに戻す

クライアントプロバイダーの動的クライアント登録APIのパスを元に戻す。

4.新規クライアントアプリケーションが登録できるか確認する

3つ作成できたことが確認できた。

5.OIDCトークン適応ポリシーが正しく動作するか確認する。

インポートしたクライアントIDのみ有効化する。

インポートしたクライアントIDでアクセストークンを取得する。

正しく結果が取得できたことが確認できた。

さいごに

OpenIDプロバイダーの動的クライアント登録エンドポイントのパスを途中モックに変更してクライアントIDをインポートしても正しく動作することが確認できた。
では