首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SecurityTokenInvalidSignatureException: IDX10511

SecurityTokenInvalidSignatureException: IDX10511
EN

Stack Overflow用户
提问于 2021-10-15 18:49:38
回答 1查看 107关注 0票数 0

寻找一些答案。第一次在ASP.Net核心上使用Azure AD进行身份验证,我们已经在azure上为我的本地和开发服务器注册了应用程序。它在我的笔记本电脑上运行,但在部署到Dev服务器并更改客户端ID值后,它一直给我这个错误

*SecurityTokenInvalidSignatureException: IDX10511:签名验证失败已尝试的键:“System.Text.StringBuilder”。孩子:“System.String”。捕获的异常:“System.Text.StringBuilder”。令牌:'System.IdentityModel.Tokens.Jwt.JwtSecurityToken'.System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.ValidateSignature(string令牌,TokenValidationParameters validationParameters)

异常:处理远程登录时遇到错误。Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler.HandleRequestAsync()*

提前谢谢你。

丹尼

EN

回答 1

Stack Overflow用户

发布于 2021-10-16 10:48:30

感谢您@User 45323833将您的suggestion发布为答案,以帮助其他社区成员。

“来自的解决方案:由于您的应用程序注册而导致的此问题:

您可能已经通过Graph API定义了一个作用域:User.Read User.ReadBasic.All Mail.Read

如果从Graph API设置作用域,则只能从Graph验证令牌!

您可以看到,在jwt.io.中,如果aud类似于"00000003-0000-0000-c000-000000000000“,则令牌来自图。

要解决此问题,请执行以下步骤:

清单要保护我们自己的自定义

  • ,您必须注册一个应用程序以在Azure AD上表示它并获取其access_token/id_token

清单部分-公开一个

  • :创建新的作用域:name = access_as_user

  • Section - API权限:为您已注册的应用程序和您的作用域添加新的权限access_as_user

  • Section -

:将条目"accessTokenAcceptedVersion“从null更改为2

  • 使用jwt.io检查来自azure的新令牌。如果aud等于已注册的应用程序id,则可以成功验证令牌。“

有关更多信息,请参阅此GitHub issue IDX10511: Signature validation failed. Keys tried:和微软文档:Azure AD authentication with ASP.Net core web application

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69589324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档