ASP.NET Core MVCアプリケーションから呼び出せる、動作しているAsp.NETコアWebApiサービスおよびASP.NET WebApiサービスがあります。このサービスは、AutoRest生成ラッパーを使用して呼び出されます。 OAuth2を使用してWebサイトが保護されている間、サービスには現在セキュリティレイヤはありません。OAuth2を使用した.NETコアWebApiサービスのセキュリティ保護とアクセス
私はサービスに以下を追加しました:
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddApplicationInsightsTelemetry(Configuration);
services.AddMvc();
// NEW Authorisation
services.AddAuthorization(options =>
{
options.AddPolicy("ApiAccess", policy => policy.RequireClaim("email"));
});
}
私のコントローラは、その確保されている:
[Authorize(Policy = "ApiAccess")]
public class StatusController : Controller
私はAutoRestラッパーを呼び出すとき、私は「未承認」の例外を取得しかし:
try
{
var service = new StatusAPI(new Uri("http://localhost:17237/"));
ViewData["State"] = service.ApiStatusGet();
}
catch (Exception ex)
{
ViewData["State"] = new[] { new ServiceStatus { Name = "Health API", Message = "Is unreachable " + ex.Message } };
}
私の電話で申し立てを渡す方法が必要なのかどうかは分かりませんラッパーに、またはそれがサービスの設定に含まれていて、それがどのようにして主張を検出したのかを示します。
は、認証ミドルウェアまたはプリンシパルでメール請求を埋めるいくつかのカスタムコードがありますか? – ycrumeyrolle
理想的には、どのように構成する必要があるかを示す例を探しています – Mark
電子メールクレームを含むトークンの種類は何も供給されていません。これは、 'StatusAPI'があなたのために扱うものですか? –