旧バージョンのドキュメントを参照しています。 最新のドキュメントはこちらをご参照ください。
OktaとOIDCを使用して外部ポータルアプリケーション認証を設定する
これらの手順は、Kong OIDCおよびPortal Application Registrationプラグインで使用するために、OktaをサードパーティのIDプロバイダーとして設定するのに役立ちます。
認可サーバーを定義し、Okta {#auth-server-cclaim} でカスタムクレームを作成します
次の手順に従って、Oktaで、すべての認証タイプに対して認証サーバーを設定します。
-
開発者向け Okta サイトにサインインします。
-
セキュリティ > API > 認証サーバー をクリックします。
default
という名前の認証サーバーがすでに設定されていることに注意してください。 この例では、デフォルトの認証サーバーを使用しています。カスタム認証サーバーは、 必要に応じていくつでも作成できます。詳細 については、 Okta開発者向けドキュメントを参照してください。 -
デフォルト をクリックすると、デフォルト認証サーバーの詳細が表示されます。認証サーバーとKongの関連付けに使用するため、
Issuer
URLをメモしておきます。 -
クレーム タブをクリックします。
-
クレームの追加 をクリックします。
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フローを使用しているエンドポイントで認証できます。