求助:Banana Cakepop对接Entra External ID时AADSTS40008错误如何解决?
解决Banana Cakepop对接Entra External ID时的AADSTS40008错误
针对你遇到的AADSTS40008错误,以下是具体的排查和修复步骤:
修正客户端密钥配置:你提到客户端密钥填的是“任意值”,这是核心问题。必须使用Entra Portal中为Banana Cakepop应用注册生成的有效客户端密码:
- 进入Banana Cakepop对应的应用注册页面
- 切换到「证书和密码」选项卡
- 点击「新建客户端密码」,设置过期时间后生成
- 复制生成的密码值(仅显示一次),替换Banana Cakepop中的“任意值”
验证端点URL的正确性:不要手动拼接授权URL和令牌URL,直接从Entra Portal的应用注册「端点」页面复制对应的OAuth 2.0授权端点和令牌端点,确保没有拼写错误(比如租户名、租户ID的大小写或格式错误)。
确保重定向URL完全匹配:检查Banana Cakepop中配置的
https://localhost:7029/graphql/#/oauth是否与应用注册「身份验证」页面中添加的重定向URL完全一致,包括端口、路径和锚点部分,且该URL属于「Web」平台类型。调整作用域配置:
- 在Banana Cakepop的作用域中添加OpenID Connect基础作用域,改为:
api://GUID_OF_API_APP_REGISTRATION/access_as_user openid profile - 再次确认API应用注册的「公开API」页面中,已将Banana Cakepop应用注册添加到「已授权客户端应用」,并勾选了
access_as_user作用域,且该作用域状态为「已启用」
- 在Banana Cakepop的作用域中添加OpenID Connect基础作用域,改为:
检查授权流设置:在Banana Cakepop对应的应用注册「身份验证」页面,确认已勾选「授权码流」选项(因为你使用的是Authorization Code授权类型)。
查看详细错误日志:前往Entra Portal的「监控」->「日志」->「登录日志」,筛选Banana Cakepop应用注册的登录记录,查看失败请求的「详细信息」,里面通常会包含比AADSTS40008更具体的错误原因,帮助定位问题。
内容的提问来源于stack exchange,提问作者baouss
相关产品推荐
相关产品推荐

