如何配置Azure应用注册认证后重定向至请求URL?
解决Azure静态Web应用AAD认证后重定向至原请求URL的问题
1. 修正应用注册的重定向URI配置
- 在Azure AD应用注册的身份验证页面,确保添加静态Web应用的统一回调URI:
无需为每个子路径单独添加URI,静态Web应用会自动处理原请求路径的参数传递。https://<你的静态Web应用域名>/.auth/login/aad/callback - 勾选ID令牌和访问令牌选项,确保支持静态Web应用默认使用的隐式/混合认证流。
2. 调整staticwebapp.config.json路由与认证配置
确保配置中保留原请求路径的传递逻辑,避免强制重定向到主页:
- 删除任何拦截所有路径并强制跳转到根目录的规则,比如:
{ "route": "/*", "redirect": "/" } - 配置正确的全局验证与身份提供者规则,示例如下:
核心是{ "routes": [ { "route": "/*", "allowedRoles": ["authenticated"] } ], "auth": { "identityProviders": { "azureActiveDirectory": { "userDetailsClaim": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", "registration": { "openIdIssuer": "https://login.microsoftonline.com/<你的租户ID>/v2.0", "clientIdSettingName": "AZURE_AD_CLIENT_ID" } } }, "globalValidation": { "requireAuthentication": true, "unauthenticatedClientAction": "RedirectToLoginPage" } } }globalValidation.unauthenticatedClientAction设置为RedirectToLoginPage,未认证用户访问子路径时,会携带原请求路径参数跳转到AAD登录,完成后自动返回原路径。
3. 验证并生效配置
- 确认应用注册的回复URL仅保留上述统一回调URI,无其他限制根路径的配置。
- 清除浏览器缓存或使用隐身模式测试外部链接访问子路径的场景,确保新配置生效。
内容的提问来源于stack exchange,提问作者JakobFerdinand
相关产品推荐
相关产品推荐

