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

如何在Identity Server 4中集成Microsoft Authenticator实现双因素认证

在Identity Server 4中集成Microsoft Authenticator的实现步骤

1. 安装必要依赖

在Identity Server 4项目中安装Microsoft账户认证包:

  • 使用Package Manager:Install-Package Microsoft.AspNetCore.Authentication.MicrosoftAccount
  • 使用.NET CLI:dotnet add package Microsoft.AspNetCore.Authentication.MicrosoftAccount

2. 在Azure门户注册OAuth应用

  • 登录Azure门户,进入Azure Active Directory -> 应用注册,点击新建注册。
  • 设置应用名称,选择支持的账户类型(推荐选“任何组织目录中的账户和个人Microsoft账户”)。
  • 在重定向URI中添加:https://<你的IdentityServer域名>/signin-microsoft(开发环境可使用https://localhost:<端口>/signin-microsoft)。
  • 注册完成后,记录应用程序(客户端)ID;进入证书和密码,新建客户端密码并记录生成的客户端密钥。

3. 配置认证服务

在项目的appsettings.json中添加Microsoft认证的密钥信息:

"Authentication": {
  "Microsoft": {
    "ClientId": "你的客户端ID",
    "ClientSecret": "你的客户端密钥"
  }
}

在Program.cs(.NET 6+)或Startup.cs中配置Microsoft认证:

// Program.cs示例
builder.Services.AddAuthentication()
    .AddMicrosoftAccount(microsoftOpts =>
    {
        builder.Configuration.Bind("Authentication:Microsoft", microsoftOpts);
    });

// 确保Identity Server服务已正确配置
builder.Services.AddIdentityServer()
    // 你的Identity Server配置(如Clients、IdentityResources等)
    .AddDeveloperSigningCredential();

4. 启用外部登录支持

  • 如果使用Identity Server默认UI,在登录视图中添加Microsoft登录按钮:
<form asp-action="ExternalLogin" asp-route-provider="Microsoft" method="post">
    <button type="submit" class="btn btn-primary">使用Microsoft账户登录</button>
</form>
  • 若自定义登录逻辑,需在外部登录处理端点中指定provider为Microsoft,引导用户跳转至Microsoft认证页面。

5. 测试与验证

  • 启动Identity Server项目,访问登录页面并点击Microsoft登录按钮。
  • 跳转至Microsoft账号登录界面完成登录后,系统会自动返回Identity Server并完成认证流程。
  • 如需获取更多用户数据,可在Azure应用注册中添加对应API权限(如User.Read)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 22:54:57