5

私はASP.NET 5を使用したサイト再構築のプロトタイプを作成しています。私はIdentityServer4を使用して認証と認可を議論しています。 IdentityServer3と4のセットアップに関するサンプルや記事をたくさん見てきました。クライアントの要求を適切に処理できるのであれば、私は頭を抱えています。ここに私の必要条件があります。asp.net 5とIdentityServer4

私は認可を必要とする3つのサイトを持っています。サイト1(abc.com)にはWindows認証が必要で、承認のためにロール(またはクレームに変換されたロール)を使用してmvcとwebapiの呼び出しが組み合わされます。サイト2(def.com)は信頼できるサイトで、ユーザー名/パスワード/ remembermeテキストボックスを持つログインウィジェットがサイト上にあり、送信時にユーザーを認証してサイト3(xyz.com)にリダイレクトします。サイト3には独自のログインページもあり、クレームを使用したmvcとwebapiの組み合わせになります。サイト2と3はWindows認証を使用せず、クライアントはアイデンティティサーバーのログイン画面にリダイレクトするのではなく、独自のログイン画面を持ち、ログインするための資格情報を持つコードからIDサーバーを呼び出します。

ここに、このシナリオとIdentityServer4に関するご質問があります。

  1. Idsvr4でWindows認証を使用するクライアントを1つ処理し、別のユーザ名/パスワード認証を使用して を使用できますか?
    • もしそうなら、idsvr4でのWindows認証を持っている 理由があるか、それだけでWebアプリケーション内 窓の認証標準使用する必要がありますか?
  2. はidsvr4クライアントを持つように設定することができMVCとWEBAPIの両方のための適切なJWTのトークンを取得したユーザ名/パスワード/リメンバー・ミー値を収集し、 にコードを介してそれらを渡しますか?

    • もしそうなら、それは別のサイト上のMVCとWEBAPIアプリケーションの両方にそれらをログ ことができますか?

    • もしそうなら、identityserver4 の本当の目的を迂回しているので、それは悪い考えですか?それは、このシナリオを処理し、良いアイデアであることができれば

  3. 、どのように私は、セットアップ、クライアント、スコープとコードがコードをログインを処理し、リダイレクトするのでしょうか?

例としては素晴らしいと非常に歓迎されているが、私も正しい方向に私を指していることは大きな助けとなるであろうように、このシナリオの検索に使用するどのような言い回しにもわかりません。

+0

https://www.linkedin.com/pulse/securing-net-core-web-api-identityserver4-resource-owner-dalvandi?trk=mp-author-card –

答えて

1

この質問がまだ有効かどうかはわかりません。しかし、はい、私はあなたがすべてそれを行うことができると信じています。

1)あなたはLDPは、クライアント(docs

1.1)にIdentityProviderRestrictionsを設定することにより、各クライアントのために利用可能である設定することができます - あなたは何を意味するかわからないが、私はidsrvがsentralizeすることであることのポイントの一つと考えています将来のウェブサイトが同じサービスに容易に統合できるようになります。

2)クライアント(アプリケーション)を使用してログインする場合、クライアントがアクセスできるapiResourceも指定します。アプリケーションはログイン時に要求されたスコープにこれを追加する必要があります。クライアントがmvcアプリケーションの場合AllowedScopesにApiResourceを追加し、request_typeid_token codeに設定するだけです。これにより、ユーザには、各リクエストとともにバックエンドAPIに渡されるaccess_tokenが渡されます。 (docs

2.1) - これは基本的に両方のサイトにユーザをログインさせます - ユーザがバックエンドAPIを使用する権限を持っていることを示すアクセストークンを使用します。

2.2) - 私の意見では、この流れはidsrvを偉大なものにするものの1つであり、idsrv自身の大きな特徴とも言えます。すべてのシステムにアクセスするには、authserverへの1回のトリップが必要です。

ptと同様です。 3 - ドキュメントをもう一度見て、クイックスタートに続いて空のプロジェクトをセットアップしてみてください。

自分のログインページからログインするには、許可タイプResource Owner passwordを使用する必要があります。セキュリティ問題(有線経由でパスワードを送信する)でこれを行うことをお勧めしません。

関連する問題