1

私はidentityserver4、APIプロジェクト、およびUIのインスタンスを立ち上げました。次のようにIdentityServer4 Password Grant

ワークフローは次のとおりです。

  1. ユーザーはUIを訪問します。
  2. ユーザーはユーザー名とパスワードをUIに提供します。
  3. UIは、IdentityApp4でユーザーを認証するためにパスワード許可を使用するWebアプリケーションの背後に資格情報を送信します。
  4. IdentityServer4はトークンを返します。
  5. トークンは、ユーザーがユーザーであること、およびユーザーがサイトの特定のセクションにアクセスできることを識別するために使用されます。
  6. ユーザーがサイト内で何かを行う必要がある場合、トークンはbearer authを介してAPIに渡されます。

パスワード許可は交渉可能ではありません。これはファーストパーティーのアプリであり、ユーザーをメインサイトからリダイレクトすることは意味がありません。

これに使用する適切なミドルウェアのセットは何ですか?私は単にCookieAuthenticationMiddlewareを使用して、トークンをクレームとして添付する必要がありますか?私はHttpContext.Userの主張からクレームにアクセスする必要があります。 IdentityMiddlewareを使用する必要がありますか?

答えて

4

パスワードの許可タイプを使用してアイデンティティスコープを要求し、請求にそれらを解決するためのuserinfoエンドポイントを使用することができます - このサンプルのように:

https://github.com/IdentityServer/IdentityServer4.Samples/tree/dev/Clients/src/ConsoleResourceOwnerFlowUserInfo

とはい - あなたが永続化するためにクッキーのミドルウェアを使用することができますこれらのクレームとアクセストークンを後で使用するために使用します。

+0

こんにちは、クライアントが秘密を保存できないJavascriptクライアントの場合、私は暗黙のフローを使用しますか?クライアントが第1党のAngularJSアプリであるため、ユーザーを別のログイン画面にリダイレクトする必要がない同様のシナリオに直面しています。どんな考えにも感謝します! –

関連する問題