Azure发布项目后AuthBot无法重定向至控制器求助
解决Azure Bot发布后AAD重定向失效的问题
这问题我之前帮不少开发者排查过,核心原因很简单:你本地测试用的是http://localhost:3984/api/OAuthCallback,但发布到Azure后,你的Bot有了公共可访问的域名,AAD必须把响应重定向到这个公网域名下的回调地址才行,具体操作步骤如下:
第一步:获取Azure Bot的公网回调URL
登录Azure门户,找到你的Bot资源,进入「配置」页面,查看「消息终结点」——它的格式大概是https://<你的Bot名称>.azurewebsites.net/api/messages。把其中的/api/messages替换成你的回调路径/api/OAuthCallback,就能得到正确的重定向URL:https://<你的Bot名称>.azurewebsites.net/api/OAuthCallback。要是你的Bot用了自定义域名,直接把
<你的Bot名称>.azurewebsites.net换成你的自定义域名就行。第二步:更新Azure AD应用的重定向URL
找到你之前创建的AAD应用注册,进入「身份验证」页面,在「平台配置」区域添加Web平台的重定向URL,把刚才生成的公网URL填进去,最后记得点击「保存」生效。额外要注意的细节
- AAD要求生产环境的重定向URL必须是HTTPS,所以要确保你的Azure App Service已经启用了HTTPS(默认是开启的,但最好确认下);
- 检查AuthBot代码里的回调路径配置,要和AAD里填的完全一致,别出现拼写错误;
- 测试前可以清除浏览器缓存或者用隐私窗口打开,避免旧的重定向缓存干扰测试结果。
内容的提问来源于stack exchange,提问作者Soufien Hajji
相关产品推荐
相关产品推荐

