我有一个与.Net Core 2.2 API后端接口的Angular 7应用程序。这与Azure Active Directory连接。
在Angular 7方面,它已通过AAD进行了正确的身份验证,并且我获得了有效的JWT,如在jwt.io上进行了验证。
在.Net Core API方面,我创建了一个带有[Authorize]
的简单测试API。
当我从Angular调用此方法时,添加Bearer令牌后,我得到了(如Chrome调试工具的“网络”标签中的“标题”所示):
WWW-Authenticate:承载错误=“ invalid_token”,error_description =“ The
找不到签名密钥”
使用HTTP / 1.1 401未经授权。
简单的测试API是:
[Route("Secure")]
[Authorize]
public IActionResult Secure() => Ok("Secure works");
Angular调用代码也很简单:
let params : any = {
responseType: 'text',
headers: new HttpHeaders({
"Authorization": "Bearer " + token,
"Content-Type": "application/json"
})
}
this.http
.get("https://localhost:5001/api/azureauth/secure", params)
.subscribe(
data => { },
error => { console.error(error); }
);
如果我删除了[Authorize]
属性,只是将其作为来自Angular的标准GET
请求进行调用,则效果很好。
我的Startup.cs包含:
services
.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureADBearer(options => this.Configuration.Bind("AzureAd", options));
所有选项均已在appsettings.json中正确设置(例如ClientId,TenantId等),并且options
此处已按预期填充。
参考方案
我的核心API使用不同的服务配置(并且有效:)):
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
Configuration.Bind("JwtBearer", options);
您确定要传递访问令牌而不是id_token吗?令牌中的aud calim是否与您的API所配置的clientid完全相同?您可能想在选项中添加一些事件,以查看接收的内容以及验证失败的位置。
使用Keycloak获取id_token - java谁知道如何使用Keycloak获取id_token?我一直在Keycloak(Spring,JEE)和邮递员中使用Java。基础工作正常,但我需要id_token,因为有些说法称它们不在access_token中,但存在于id_token中。使用keycloak-core库,我可以获得Keycloak上下文,但是id_token属性始终为null。有想法吗 …
LeetCode题解301.remove-invalid-parentheses题目地址 https://leetcode.com/problems/remove-invalid-parentheses/description/ 题目描述 Remove the minimum number of invalid parentheses in order to make the input string valid. Return all…
当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…
改造正在返回一个空的响应主体 - java我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…
每个文件合并后添加换行 - python我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…