我有一个与 .Net Core 2.2 API 后端接口的 Angular 7 应用程序。这是与 Azure Active Directory 的接口。
在 Angular 7 方面,它正在使用 AAD 正确进行身份验证,并且我在jwt.io上得到了一个有效的 JWT 验证。
在 .Net Core API 方面,我创建了一个简单的测试 API [Authorize]。
当我从 Angular 调用此方法时,在添加不记名令牌后,我得到(如 Chrome 调试工具、网络选项卡、“标题”中所示):
WWW-Authenticate: Bearer error="invalid_token", error_description="未找到签名密钥"
使用HTTP/1.1 401 Unauthorized。
简单的测试 API 是:
[Route("Secure")]
[Authorize]
public IActionResult Secure() => Ok("Secure works");
Run Code Online (Sandbox Code Playgroud)
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", …Run Code Online (Sandbox Code Playgroud)