ASP.NET Core 7中Microsoft外部个人认证登录失败排查
ASP.NET Core 7 Microsoft外部认证报AADSTS7000215错误
问题详情
按照Microsoft官方文档配置个人Microsoft账号外部认证后,点击登录按钮完成授权,重定向回本地应用时触发OAuth令牌端点失败,错误提示:
OAuth令牌端点失败,提示AADSTS7000215无效客户端密钥,需确保使用密钥值而非密钥ID。
已完成的配置步骤:
- 安装
Microsoft.AspNetCore.Authentication.MicrosoftAccountNuGet包 - 在Azure门户创建应用注册,设置支持多租户及个人Microsoft账户,配置重定向URI为
https://localhost:7094/signin-microsoft - 创建客户端密钥并复制其值
- 在
appsettings.json中配置ClientId和ClientSecret,并在Program.cs添加身份认证相关代码
解决步骤
- 确认客户端密钥的正确性
进入Azure门户的应用注册→证书和密码页面,找到目标客户端密钥:- 确保复制的是密钥值(Value),而非密钥ID(Secret ID)——密钥ID是短标识字符串,密钥值是更长的随机字符序列,创建时仅会显示一次,若已丢失需重新生成新密钥。
- 检查配置文件内容
打开appsettings.json,验证ClientSecret字段填写的是正确的密钥值,无多余空格或拼写错误,示例配置:"Authentication": { "Microsoft": { "ClientId": "你的应用注册ID", "ClientSecret": "正确的客户端密钥值" } } - 验证认证代码配置
确认Program.cs中读取配置的代码正确指向ClientSecret的配置路径,示例代码:builder.Services.AddAuthentication() .AddMicrosoftAccount(microsoftOptions => { microsoftOptions.ClientId = builder.Configuration["Authentication:Microsoft:ClientId"]; microsoftOptions.ClientSecret = builder.Configuration["Authentication:Microsoft:ClientSecret"]; }); - 清理缓存并重启应用
清除浏览器缓存,重启ASP.NET Core应用,避免旧配置残留引发问题。
内容的提问来源于stack exchange,提问作者Enrico
相关产品推荐
相关产品推荐

