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

基于.NET API与Angular实现Azure AD登录/注册(SSO)教程咨询

Angular + .NET Core API 集成Azure AD用户注册功能的实用实现指引

下面是经过验证的、可落地的实现步骤及核心要点:

.NET Core API 端配置与实现

  • Azure AD应用注册准备:在Azure门户创建API类型的应用注册,记录客户端ID、租户ID,配置API权限(勾选Microsoft Graph下的User.ReadWrite.All委派权限,并由租户管理员同意该权限)。
  • 项目配置:在appsettings.json中添加Azure AD相关配置:
"AzureAd": {
  "Instance": "https://login.microsoftonline.com/",
  "Domain": "你的租户域名.onmicrosoft.com",
  "TenantId": "你的租户ID",
  "ClientId": "你的API客户端ID"
}
  • 启用身份验证中间件:在Program.cs中配置JWT验证,集成Azure AD身份验证:
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApi(builder.Configuration.GetSection("AzureAd"));

// 启用授权中间件
app.UseAuthentication();
app.UseAuthorization();
  • 实现用户注册接口:通过Microsoft Graph API完成用户创建。注入IHttpClientFactory创建客户端,获取Graph API访问令牌,调用POST https://graph.microsoft.com/v1.0/users接口提交用户信息(邮箱、显示名称、初始密码等)。

Angular 端集成

  • 安装依赖:执行npm install @azure/msal-angular @azure/msal-browser安装MSAL身份验证库。
  • 配置MSAL模块:在app.module.ts中配置MSAL实例,集成到Angular应用:
import { MsalModule, MsalService, MSAL_INSTANCE } from '@azure/msal-angular';
import { PublicClientApplication } from '@azure/msal-browser';

export function MSALInstanceFactory(): PublicClientApplication {
  return new PublicClientApplication({
    auth: {
      clientId: '你的Angular应用客户端ID',
      authority: 'https://login.microsoftonline.com/你的租户ID',
      redirectUri: 'http://localhost:4200' // 你的Angular应用地址
    }
  });
}

@NgModule({
  imports: [MsalModule],
  providers: [
    {
      provide: MSAL_INSTANCE,
      useFactory: MSALInstanceFactory
    },
    MsalService
  ]
})
export class AppModule { }
  • 构建注册流程:创建注册组件,收集用户注册所需信息(如邮箱、姓名、初始密码),调用.NET Core API的注册接口。请求时携带MSAL获取的访问令牌,确保API能验证用户身份并执行Graph调用。

关键注意事项

  • 权限验证:必须确保Azure AD应用注册的User.ReadWrite.All权限已获得租户管理员同意,否则API调用Graph会返回权限不足错误。
  • 令牌范围:Angular端请求令牌时,要包含API的自定义访问范围(如api://你的API客户端ID/access_as_user),确保API能识别并接受该令牌。
  • 错误处理:添加对用户已存在、令牌过期、Graph调用失败等场景的错误捕获与提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:35:15