web-dev-qa-db-ja.com

Angular SPAアプリケーションを使用してIdentityServer4と通信し、トークンを受け取った認証/承認用のWebアプリケーションと通信する

Asp.netコアWebAPIがあります。現在、Angular 4アプリを使用して直接呼び出しています。

認証と承認のレイヤーを追加したいと思います。

これを行うには、タイプ:ASP.NET Core MVC(個別のユーザーアカウント付き)の別のプロジェクト(厳密には認証用)をソリューションに追加してから、IdentityServer4を追加します。計画は、既存のIdentityテーブルを使用してユーザー、ロールなどを格納することです。

これがすべてセットアップされると、私のAngular 4 SPAアプリまたはその他のサードパーティがIdentityServerアプリを介して認証する方法について少し混乱します。これが何らかのトークンを返すと想定します。次に、そのトークンを使用して、元のWeb APIプロジェクト(つまり、GetCustomers())を呼び出します。

調べたところ、ASP.NET CoreでのJWTベアラー認証だけが必要なようです。

誰かがこのプロセス全体を実行する方法に関するいくつかのリンク/情報を私に提供できますか?全体を網羅した優れた動画は見つかりませんでした。また、私が話している上記のパターンが正しいことを確認してください。

15
Blake Rivell

Identity Serverには異なるflows/grant typesがあり、あなたが話しているものは implicit と呼ばれ、その場合Identity Serverjwt tokenを返すので、それを保存する必要がありますjwt tokenをクライアントで実行し、セキュアなwebapiルートをリクエストするときに、そのトークンをリクエストヘッダーに添付します。

enter image description here

公式 サンプル それは非常に良い出発点でもあります ブログ トピックをカバーする多くの有用な情報があります。

ここでのトピックに関する良いビデオについて話すことは、最近のNDC conf IdentityServer4:New&Improvement for ASP.NET Core からの良いものです。 複数形コース ドミニク・バイアー

12
Kuncevič