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

如何为含API层的现有Web应用添加Azure身份认证功能

分层改造范围结论

两层都需要做增量调整,全程不需要修改任何现有用户名密码登录的存量代码,所有改动都是新增逻辑,不侵入原有链路:

  • Web(UI)层改动:
    不需要改动原有账号密码登录页、表单提交、令牌存储、接口调用的任何逻辑。只需要新增两个内容:一是在登录页加一个「使用Azure账户登录」的按钮入口,二是新增Azure AD OpenID Connect的认证配置,配置逻辑为:用户点击Azure登录按钮后跳转到Azure AD登录页,登录成功拿到Azure颁发的身份令牌后,直接调用API层新增的Azure专属换票接口,拿到你系统原有格式的访问令牌后,后续的登录状态存储、接口鉴权传参完全复用现有逻辑即可。
  • API层改动:
    不需要改动原有账号密码校验、自有令牌颁发、业务接口鉴权的任何逻辑。只需要新增两个内容:一是引入Azure AD令牌的校验参数配置,用来验证前端传过来的Azure令牌的合法性(包括签发方、有效期、对应租户、受众是否匹配);二是新增一个Azure AD专属的登录换票接口,逻辑为:校验传入的Azure令牌合法后,提取令牌中携带的用户邮箱/Azure AD对象ID,匹配本地用户库的对应账号(无匹配时可按需配置自动注册逻辑),之后直接复用你现有的令牌颁发方法,返回和原有账号密码登录完全一致格式的系统访问令牌即可,后续所有业务接口的鉴权逻辑完全不需要调整。
「Expose an API」能力适配说明

仅实现Azure AD门户登录的场景下,你完全不需要使用应用注册里的Expose an API能力。
这个能力的核心作用是给你的API配置Azure AD原生的权限管控体系,适用场景是:你需要让其他Azure AD集成的应用(比如第三方服务、Power Platform、Logic Apps等)直接持Azure AD颁发的令牌调用你的API时,才需要在这里配置API作用域、授权客户端范围。你的场景中API全程只认自己颁发的自有令牌,Azure AD只用来做用户身份的前置核验,不需要让外部服务直接通过Azure令牌调用你的业务接口,所以这个功能对你的场景没有价值,不需要配置。

最小改动提示:所有Azure AD相关的新增逻辑都可以加独立的配置开关控制启停,上线后如果出现异常直接关闭开关隐藏登录入口即可,完全不会影响原有账号密码登录链路的正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 08:18:28