Azure Web应用认证中Redirect URI不匹配问题求助
Azure AD B2C重定向URI不匹配问题排查方案
- 确认Azure AD B2C应用注册的重定向URI类型:必须选择Web类型,不要选SPA或其他类型,类型不匹配会直接导致验证失败。
- 排查Flask实际发送的重定向URI:在Flask认证请求的代码处添加日志,打印实际传递给Azure的
redirect_uri参数,比如:
对比打印出的URI和Azure门户配置的是否完全一致,注意检查大小写、末尾斜杠、域名是否准确(比如是否带www、是否是Azure分配的完整域名)。import logging logging.info(f"Redirect URI being sent: {request.url_root + REDIRECT_PATH}") - 强制Flask使用HTTPS生成URI:部署到Azure后,应用运行在HTTPS反向代理后,Flask可能默认生成HTTP URI,需在配置中添加:
同时确保WSGI服务器(如Gunicorn)正确转发app.config['PREFERRED_URL_SCHEME'] = 'https'X-Forwarded-Proto头,让Flask识别实际的请求协议。 - 检查自定义策略(如果使用):若你用了Azure AD B2C自定义策略,需确保策略中的
RedirectUri配置与应用注册的重定向URI一致,或者策略允许使用应用注册中配置的所有重定向URI。 - 清理浏览器缓存与Cookie:旧的认证会话可能缓存了错误的重定向信息,清除后重新发起认证请求。
- 验证Flask路由:确认
/getAToken路由已正确定义,且支持GET请求(Azure AD B2C的回调默认使用GET方法)。
内容的提问来源于stack exchange,提问作者Luca
相关产品推荐
相关产品推荐

