我已经开发了一个前端应用程序,可以从Azure AD获取jwt令牌。
我设法将此令牌放在标头中,并将请求发送到我的后端。
我用在线工具检查了令牌,它是有效的。
在不需要令牌的URL上,我可以获取它并对其进行解码。
但是当我注意到某个URL为[Authorize](授权)时,我仍然会收到答案401,而且我不知道如何做,这样我的后端才能验证我的令牌。
我不知道在.NET Core 2.2项目的Startup.cs中放入什么内容
有人可以解决吗?
答案 0 :(得分:0)
我找到了解决方法:
在appsettings.json中:
"AzureActiveDirectory": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "<Domain>",
"TenantId": "https://login.microsoftonline.com/<TenantId>/v2.0",
"ClientId": "<ClientId>"
}
在Startup.cs中:
services.AddAuthentication(AzureADDefaults.BearerAuthenticationScheme).AddAzureADBearer(options => Configuration.Bind("AzureActiveDirectory", options));
services.AddAuthorization(o =>
{
o.DefaultPolicy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.AddAuthenticationSchemes(AzureADDefaults.BearerAuthenticationScheme)
.Build();
});