現在、マイクロサービスのAPIゲートウェイを分析しており、Kongが候補の1つです。我々はKongが認証のためにいくつかのプラグインをサポートしているが、すべてがKongデータベース自体に格納されているユーザに基づいていることを発見しました。この責任をカスタム認証HTTPサービスに委任し、これらのユーザーをAPIゲートウェイデータベースに追加する必要はありません。Kong APIゲートウェイのカスタム認証サービス
0
A
答えて
0
は香港のOpenID接続プラグインgetkong.org/plugins/openid-connect-rpをチェックアウト - それは外部のアイデンティティと認証システムに接続します。
2
これは、代わりにOpenIDの接続プラグインを使用しての、周りのいくつかのコードでこれを行うことが可能です。事実上、Admin(8001)ポート経由でKongと会話し、外部から与えられたUser Idを持つAPIの使用を認可するAuthorization Serverを実装する必要があります。
要するに(認証コードの付与はこちら)以下のように、それは行く:代わりにトークンの直接香港に尋ねるの
- は、(特定のAPIのためのトークンを取得するための要求と認証サーバーを打ちますいずれかのハードコード化されたまたはパラメータ、)何が必要に応じて、通話にアクセスする必要があるアプリケーションのクライアントIDが含まれます(
- 認証サーバーは、今何のIdPで認証する必要があり、実際には
/authorize
エンドポイント)を実装します認証サーバーの内部に認証されたユーザーがいるようにする必要があります。 - Kong Admin API経由でAPIのプロビジョニングコードを取得し、プロビジョニングキーを含むKong Gateway(ポート8443)のエンドポイント
/oauth2/authorize
をクリックします。このアプリケーションを作成するには、Admin APIを介してアプリケーションクライアントIDのクライアントシークレットも検索する必要があることに注意してください。 - クライアントID、クライアントシークレット、認証されたユーザーID(カスタムIDPから)、オプティカルスコープ
POST
〜/oauth2/authorize
;これらの値は現在、認証コードを使用して主張することができるアプリケーションをアクセストークンを使用してAPIにバックエンドの通話に追加されます - 香港では必要になります(あなたが302リダイレクトを経由して戻ってアプリケーションに渡すバック認証コードを、与えます香港のポート8443、URL
/oauth2/token
から)アクセストークンを取得するには、認証コードで、このためのOAuth2仕様) - アプリケーションは、クライアントとシークレットを使用してを読んで(とトークンリフレッシュする必要があります。
それは終わりであるよりも、より複雑に聞こえます。私はKongとnode.jsをベースにしたwicked.haufe.ioでこれを行い、オープンソースの開発者ポータルをKongに追加しました。多くのコードがどのIdPのと統合するために何ができるかを示し、次の二つのプロジェクトであります。
- https://github.com/apim-haufe-io/wicked.portal-kong-adapter
- https://github.com/Haufe-Lexware/wicked.auth-passport
- https://github.com/Haufe-Lexware/wicked.auth-saml
現在見て調査しています邪悪な人にデフォルトの認証サーバーを追加することもできますが、今は自分自身をロール/フォークする必要があります。
おそらくこれが役に立ちます。マーティン
関連する問題
- 1. Kong APIゲートウェイv0.11.0 upstream_url
- 2. KONG APIゲートウェイでクッキーを使用するJWT認証
- 3. KONG APIゲートウェイでのロードバランシング
- 4. AWS APIゲートウェイ認証(Cognito Vsカスタム・オートローダ)
- 5. 使用KONG APIゲートウェイとしてGraphQLへ/ RESTサービス
- 6. クラウドファウンドリAPIカスタム認証サービスのアクセス資格
- 7. AWS APIゲートウェイの認証エラー
- 8. AWS CognitoとAPIゲートウェイ認証
- 9. AWS APIゲートウェイMTLSクライアント認証
- 10. Amazon(AWS)APIゲートウェイ - 認証
- 11. WSO2 APIマネージャとkongのようなサードパーティのAPIゲートウェイを統合
- 12. AWS APIゲートウェイへのモバイルアプリクライアントの認証(ソーシャルログイン)
- 13. カスタム認証 - Web API
- 14. カスタムAPIのアクセスポリシーおよびAPIゲートウェイ
- 15. 認証されていないコグニートのAPIゲートウェイとOauth認証
- 16. 認証ゲートウェイ
- 17. Public MicroServiceでApi Gateway(Kong)を認証する
- 18. SpringBoot Rest APIカスタム認証
- 19. カスタム認証asp.netコアweb api
- 20. Microsoft FlowカスタムAPI認証
- 21. Web APIカスタム認証フィルタ
- 22. kongゲートウェイを使用してAPIでaccess_tokenを渡す方法
- 23. Webサービスのカスタム基本認証
- 24. 同じAzure Mobile Appサービスでのカスタム認証とソーシャル認証
- 25. Kong API GatewayでAPIにHMAC署名認証を追加する方法は?
- 26. Kong API Gateway
- 27. Cognito User Pools APIゲートウェイによる認証と認可
- 28. APIゲートウェイ - リクエストパラメータの検証
- 29. Azure Appサービス:カスタム認証とソーシャルプロバイダ
- 30. Kong API Gateway Php
お返事ありがとうございます。私は確かに提案についてより深く見ていきます。 –
認証(ユーザ+パスワード)、承認(ユーザが特定のリソースへのアクセス権を持っているか)、および登録(このマイクロサービスに関連付けられたユーザdbにユーザを追加する)を扱うマイクロサービスがすでにある場合はどうでしょうか? kongとユーザーサービスを統合する方法はありますか?このレベルのユーザー対話は、アプリケーション固有のものになるようです。 – user1790300
これは、あなたができることであり、おそらくOAuth2で解決しなければならないように聞こえます.OAuth2は、通常は承認をスコープに抽象化するステップです。 *あなたの*サービスのためにどのように詳細に行われているかは、あなたがここに述べたことだけでは分かりません。あなたのAPIは、事前に収集された情報からKongの認証と認証を取得するのが理想的です。それはしばしば可能ですが、必ずしもそうではありません。 – donmartin