Azure AD B2C联邦登录授权码未返回自定义Redirect URI求助
解决Azure AD B2C授权码重定向地址不符问题
检查Azure AD B2C应用注册的Redirect URI配置
登录Azure门户,进入目标B2C租户的应用注册,选中你的应用后打开身份验证页面:- 确认已添加正确的
https://<mydomain>/oauth2/authresp(注意修正原URL中的多余双斜杠为单斜杠),且该URI的类型设置为Web。 - 删除
https://gideind.b2clogin.com/gideind.onmicrosoft.com/oauth2/authresp这类无关的重定向条目,避免配置冲突。
- 确认已添加正确的
验证用户流/自定义策略的关联设置
- 若使用内置用户流:进入B2C的用户流模块,选中对应的登录/注册流,在应用程序注册环节确认关联的是配置了正确Redirect URI的应用。
- 若使用自定义策略:打开策略XML文件,检查
<TechnicalProfile Id="OIDC">或对应授权技术配置中的RedirectUri参数,确保其值指向你的Spring Boot后端URI,而非B2C默认地址。
核对Spring Boot OAuth2客户端配置
在项目的application.yml(或application.properties)中,确保OAuth2客户端配置与B2C应用注册完全匹配:spring: security: oauth2: client: registration: azure-b2c: client-id: <你的客户端ID> client-secret: <你的客户端密钥> redirect-uri: "{baseUrl}/oauth2/authresp" authorization-grant-type: authorization_code provider: azure-b2c: authorization-uri: https://gideind.b2clogin.com/gideind.onmicrosoft.com/<你的用户流名称>/oauth2/v2.0/authorize token-uri: https://gideind.b2clogin.com/gideind.onmicrosoft.com/<你的用户流名称>/oauth2/v2.0/token重点确认
redirect-uri的值无多余斜杠,且与B2C应用注册中的URI完全一致。检查前端授权请求参数
若由前端发起认证请求,确保请求URL中的redirect_uri参数明确指向你的后端地址,示例正确请求格式:https://gideind.b2clogin.com/gideind.onmicrosoft.com/<用户流名称>/oauth2/v2.0/authorize?client_id=<客户端ID>&response_type=code&redirect_uri=https://<mydomain>/oauth2/authresp&scope=openid offline_access避免前端误传错误的重定向地址参数。
清除浏览器缓存测试
旧的浏览器缓存、认证会话可能导致重定向逻辑异常,清除浏览器Cookie和缓存后重新发起认证流程,验证跳转地址是否正常。
内容的提问来源于stack exchange,提问作者Dipen Yadav
相关产品推荐
相关产品推荐

