私は、IdentityServer4を介して保護されたAPIを呼び出す方法を理解しようとしています。IdentityServer4 - MVCからユーザーとしてAPIを呼び出す
基本的には、次のサイトがあります。 - IdentityServerアプリケーション、 - Web API、 - クライアントWebアプリケーション。
私の設定は、IdentityServerのサンプルhereとまったく同じです。
私は、クライアントWebアプリケーションを表すClient
と、Web Web Apiを表すAPIResource
を定義します。
私のクライアントWebアプリケーションから、WebAPIへのHTTP呼び出しを行いたいが、私はログインしているユーザーであるかのように見せたいので、Web Apiで 'email'スコープを利用できるようにしたい。
私は、Webアプリケーション内からやっている方法は、「access_tokenは」をつかむために、およびWeb APIに渡すことです:
var accessToken = await httpContextAccessor.HttpContext.Authentication.GetTokenAsync($"access_token");
var client = new HttpClient();
client.SetBearerToken(accessToken);
これは私のクライアントを呼び出すことができますので、承認ステップは機能していますが、Web APIのユーザークレームには適切なスコープがありません。
何か間違っていますか?