以下を実装するためにIdentityServer3とOpenIDConnect(フローと構成)を使用する正しい方法は何ですか?
我々は持っている1つのMVCサイト Products
と1つのWeb APIを Products.API
。すべてのWebAPIエンドポイントを保護する必要があります。
一部のエンドポイントは、認証された(ログオンした)ユーザーに代わってMVCアプリケーションからのみアクセスできます。
アカウント登録、パスワードのリセット、匿名操作に使用されるエンドポイントなどの他のエンドポイントは、画像に認証されたユーザーがいないため、MVCクライアントサイトに直接承認する必要があります。
現在、ハイブリッドフローを使用していますが、これは主にドミニクベイヤーのビデオの1つを見た後に動機付けられました。https://gist.github.com/jawadatgithub/638c11f08ecc0d76b05cを調べましたが、探しているのはクライアント資格情報フローとリソース所有者パスワード資格情報フローの組み合わせのようですが、2つを混在させることもできます。どうやらそれはお勧めできませんので流れます。
APIを「サービス」タイプのAPIと「ユーザー」APIに分割し、別々の認証フローを持つことができますが、本当に2つのAPIが必要ですか?
登録コードは本当にAPIに属していますか?MVCアプリ(IDプロバイダーでもあると推測)がアカウント登録を処理する必要があるようです-これは通常、Oauth2.0を使用する際の重要な分離です:APIはユーザー管理者とはまったく関係ありません!
IDプロバイダー/認証サーバーと連携するように登録機能をリファクタリングする場合でも、2つの認証フローが必要ですか?
その場合、パスワードフローのみを使用して、非ユーザーコンテキストエンドポイントのIDシステムに偽の「管理者」ユーザーを設定することができます。MVCアプリは「admin」ユーザーのクレデンシャルを渡すことができ、APIはこの特定のユーザーのコードを記述できます。それはひどいです、私はそれをお勧めしません、しかし私はそれがうまくいくのを見ました!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加