旧バージョンのドキュメントを参照しています。 最新のドキュメントはこちらをご参照ください。
OktaとOIDCを使用して外部ポータルアプリケーション認証を設定する
これらの手順は、Kong OIDCおよびPortal Application Registrationプラグインで使用するために、OktaをサードパーティのIDプロバイダーとして設定するのに役立ちます。
認可サーバーを定義し、Okta {#auth-server-cclaim} でカスタムクレームを作成します
次の手順に従って、Oktaで、すべての認証タイプに対して認証サーバーを設定します。
-
開発者向け Okta サイトにサインインします。
-
セキュリティ > API > 認証サーバー をクリックします。
defaultという名前の認証サーバーがすでに設定されていることに注意してください。 この例では、デフォルトの認証サーバーを使用しています。カスタム認証サーバーは、 必要に応じていくつでも作成できます。詳細 については、 Okta開発者向けドキュメントを参照してください。 -
デフォルト をクリックすると、デフォルト認証サーバーの詳細が表示されます。認証サーバーとKongの関連付けに使用するため、
IssuerURLをメモしておきます。 -
クレーム タブをクリックします。
-
クレームの追加 をクリックします。
application_idというカスタムクレームを追加して、正常に認証されたアプリケーションのidをアクセストークンに添付します。-
名前 フィールドに
application_idを入力します。 -
Include in token typeの選択が アクセストークン であることを確認します。 -
値 フィールドに
app.clientIdを入力します。 - 作成 をクリックします。
カスタムクレームを作成したので、Application Registration プラグインを使用して
client_idをサービスに関連付けることができます。まず、Kong Manager でサービスの作成から始めます。 -
名前 フィールドに
-
サービスとルートを作成し、そのサービス上でOIDCプラグインをインスタンス化します。 ほとんどのオプションでデフォルトの使用を許可できます。
-
Config.IssuerフィールドにIDプロバイダーから入手した承認サーバーの発行者URLを入力します。
-
Config.Consumer Claimフィールドに、アプリケーションIDを含むOktaペイロードのフィールドの名前を入力します。 これは通常subです。
ヒント: Oktaの検証ドキュメントには、デフォルトでサポートされている検証タイプがすべて含まれているわけではないため、
config.verify_parametersオプションが無効になっていることを確認してください。
コア構成は次のようになります。
{ "issuer": "<auth_server_issuer_url id="sl-md0000000">", "verify_credentials": false, "consumer_claim": "sub", } -
-
サービス上で Portal Application Registration プラグインも構成します。アプリケーション登録をご覧ください。
Oktaにアプリケーションを登録
次の手順に従って、Oktaにアプリケーションを登録し、Kong Dev PortalのアプリケーションとOktaアプリケーションを関連付けます。
-
開発者向け Okta サイトにサインインします。
-
アプリケーション > アプリケーション の順にクリックします。
-
実装する認証フローに応じて、 Okta アプリケーションは次のように異なります。
-
新しいアプリ統合を作成 :アプリケーションの種類を求められたら、
API Servicesを選択します。 新しいAPI Servicesアプリ統合 モーダルで、アプリ統合名を入力します。
後ほど、プロキシで認証をする際に、
client_idとclient_secretが必要になります。-
Implicit Grant :アプリケーションの種類を求められたら、
Single-Page App、Native、またはWebを選択します。Allowed grant typesでImplicitが選択されていることを確認してください。アプリケーションのルーティングに応じて、Login redirect URIs、Logout redirect URIs、Initiate login URIフィールドに正しい値を入力します。認可コードフローが可能な場合、Implicit Grantフローは推奨されません。 -
認証コード :アプリケーションのタイプを入力するように求められる場合は
Single-Page App、Native、Webを選択してください。Allowed grant typesにAuthorization Codeが選択されていることを確認してください。アプリケーションのルーティングに応じて、Login redirect URIs、Logout redirect URIs、Initiate login URIフィールドに正しい値を入力します。
-
新しいアプリ統合を作成 :アプリケーションの種類を求められたら、
KongアプリケーションとIDプロバイダーアプリケーションとの関連付け
Oktaでアプリケーションが構成されました。次は、Kong Dev Portal内の対応するアプリケーションとOktaアプリケーションを関連付ける必要があります。
注: 開発者ごとに独自のアプリケーションをOktaとKongの両方に用意しておきます。
各Oktaアプリケーションに付属する固有のclient_idはKongの該当アプリケーションにマッピングします。 このIDは基本的に、IDプロバイダーのアプリケーションをポータルアプリケーションにマッピングします。
この例では、クライアント認証情報がOAuthフローとして選択されていることを前提としています。
-
まだアカウントを作成していない場合は、Kong Dev Portalでアカウントを作成します。
-
ログインしたら、
My Appsをクリックします。 -
アプリケーションページで
+ New Applicationをクリックします。 -
名前 と 説明 のフィールドに入力します。対応する Okta(またはその他の ID プロバイダー)アプリケーションの
client_idを リファレンス Id フィールドに貼り付けます。
アプリケーションが作成されたので、開発者はサポートされている中から推奨されている サードパーティのOAuthフローを使用しているエンドポイントで認証できます。