有人有幸提供与 api 端点域名不同的
aud
令牌吗?我的 Blazor 调用 asp.net 应用程序 (api) 并收到错误:
当我有 api app 应用程序 id 和 Jwt 的“aud”形式的
api://[GUID]/write.access
时,它工作得很好
将其更新为域名后(需要自定义声明,没有它就无法工作),它停止工作并抛出错误。
我在 Entra 中更新观众的位置:
我想这应该足够了。我想到的唯一可能的根本原因是不同的域名:api端点是https://someappname.azurewebsites.net/accounts,从所附的屏幕截图中可以看到它是不同的
您可以在 JwtBearer 中设置预期的 aud 声明值,如下所示:
.AddJwtBearer(opt =>
{
opt.Authority = _configuration["openid:authority"];
opt.Audience = "paymentapi";
...
这应该是 API 期望在收到的访问令牌中看到的内容。
我确实在这里写了一篇关于此的博客文章:解决 ASP.NET Core 中的 JwtBearer 身份验证问题