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

使用OpenID Connect与Azure应用注册时的匿名访问配置问题

针对Azure Web App匿名访问与AAD认证跳转问题的解决办法

1. 登录失败重定向的清单配置

可以通过修改AAD应用注册的清单实现登录失败后的重定向:

  • 进入AAD应用注册页面,切换到「清单」标签
  • 找到errorUrl字段,将其值设置为你指定的重定向URL(注意该URL必须已在应用注册的「重定向URI」列表中注册,否则会被拦截)
  • 保存清单后,用户登录失败时会自动跳转到该地址,你可在此页面添加返回站点首页的入口

2. 登出重定向的配置

登出不触发跳转是因为未配置对应回调地址,按以下步骤处理:

  • 在AAD应用注册的「认证」页面,找到「前端通道登出URL」,填写应用登出后要跳转的地址
  • 同时在「登出后重定向URI」中添加允许的地址(需在已注册的URI范围内)
  • 同步在Web App的「Authentication」设置里,将「Logout URL」设为相同地址,保持两端配置一致

3. 实现“可选登录+匿名访问”的核心方案

用Web App原生身份验证快速实现

  • 打开Web App的「Authentication」设置,在「Authentication settings」中,将「Action to take when request is not authenticated」改为Allow anonymous requests (no action),不要选择强制登录的选项
  • 这样用户访问站点时不会被自动引导登录,你可在首页添加登录按钮,点击后跳转至Web App认证端点/.auth/login/aad即可触发登录流程
  • 登录失败时会触发之前配置的errorUrl跳转,在此页面设置返回首页的选项即可

用Azure AD B2C的自定义方案(需更灵活的登录页面时)

  • 若使用B2C,可创建自定义用户流,在登录页面布局中添加“返回应用”的链接,直接指向站点首页
  • 同时在B2C应用注册中配置「错误URL」和「登出重定向URI」,确保登录失败或登出后能回到应用
  • Web App端仍设置允许匿名访问,让用户自主选择是否登录

重要提醒

  • 所有用到的重定向URL必须提前在AAD/B2C应用注册的「重定向URI」中注册,否则会被判定为非法地址拦截
  • 应用代码需做好匿名与认证请求的区分:认证用户可通过HttpContext.User获取身份信息,匿名请求直接处理即可
  • 测试时记得清除浏览器缓存,避免旧的认证会话干扰结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 00:41:04