You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 7 MVC微软账户认证抛异常,VS2022显示Access violation

解决ASP.NET Core 7微软账户认证的"Access Denied"异常

以下是几个最可能遗漏的配置点,按优先级排查:

  • 检查Azure AD应用注册的重定向URI
    必须保证Azure门户中应用注册的重定向URI和项目配置完全匹配,本地开发常用格式为https://localhost:<你的端口号>/signin-microsoft,注意HTTPS协议、端口号都不能错,多一个空格或者符号都会导致认证失败。

  • 验证客户端ID与密钥的正确性
    核对appsettings.json里的Microsoft:ClientId和Microsoft:ClientSecret,确保和Azure应用注册页面的对应值完全一致。密钥要注意没有过期,复制时不要带多余的空格或换行。

  • 确认API权限已配置并授权
    在Azure应用注册的「API权限」页面,添加必要的权限(比如基础的User.Read),并且点击「授予管理员同意」按钮。如果是面向企业用户的应用,必须完成这一步;个人用户场景也建议提前授权,避免流程中出现权限不足的问题。

  • 检查认证中间件的配置顺序
    在Program.cs中,AddMicrosoftAccount要在AddAuthentication之后注册,且UseAuthentication必须放在UseAuthorization之前执行,顺序错误会导致认证流程无法正常触发。示例代码:

    builder.Services.AddAuthentication()
        .AddMicrosoftAccount(options =>
        {
            options.ClientId = builder.Configuration["Microsoft:ClientId"];
            options.ClientSecret = builder.Configuration["Microsoft:ClientSecret"];
        });
    
    // 注意中间件顺序
    app.UseAuthentication();
    app.UseAuthorization();
    
  • 确保启用HTTPS
    微软账户认证强制要求HTTPS连接,本地开发时检查Visual Studio是否启用了HTTPS,或者在launchSettings.json中确认HTTPS端口配置正确,避免因HTTP协议导致的访问被拒绝。

内容的提问来源于stack exchange,提问作者Adam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 02:00:29