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

Azure中login.microsoftonline.com与{tenant_name}.b2clogin.com发行方差异

两个微软身份服务发行方(Issuer)URL的核心区别

这两个URL分属微软完全不同的身份服务体系,核心差异体现在以下几点:

1. 所属服务场景不同

  • https://login.microsoftonline.com/{tenant_id}/v2.0 是**Azure Active Directory(Azure AD)**的v2.0身份端点,面向企业内部身份管理场景,用来处理企业员工、合作伙伴的身份验证、权限管控,适配组织内的办公应用、企业级系统。
  • https://{tenant_name}.b2clogin.com/{tenant_id}/v2.0/ 是Azure AD B2C的身份端点,专门面向消费者身份场景,比如电商、SaaS产品的外部用户注册登录,支持社交账号(Google、微信等)登录、自定义注册流程这类面向C端用户的功能。

2. JWT签名密钥完全独立

虽然两者都是微软提供的身份服务,但签名JWT的密钥池是完全分开的。验证token时,必须使用对应端点返回的公钥:

  • Azure AD的公钥从login.microsoftonline.com对应的元数据端点获取
  • Azure AD B2C的公钥从b2clogin.com对应的元数据端点获取
    混用密钥会直接导致token验证失败。

3. 功能与配置逻辑差异

  • Azure AD端点侧重企业级能力:支持组织内应用单点登录(SSO)、Azure RBAC权限控制、条件访问策略(如强制MFA)、内部用户生命周期管理等。
  • Azure AD B2C端点侧重消费者体验:支持自定义用户旅程(比如注册时的自定义表单、多步骤验证流程)、多种社交身份提供者集成、用户自助密码重置、个性化登录页面定制等,这些功能是标准Azure AD不具备的。

4. Token中的Issuer声明严格区分

JWT令牌里的iss字段会严格对应各自的URL,验证时必须和你应用配置的issuer完全匹配——哪怕两个URL的{tenant_id}相同,域名不同也会被判定为无效 issuer。比如Azure AD签发的token,iss值是https://login.microsoftonline.com/{tenant_id}/v2.0;B2C签发的token,iss值则是https://{tenant_name}.b2clogin.com/{tenant_id}/v2.0/,两者无法交叉验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 10:05:00