Azure AD B2C使用Okta作OpenID IDP时redirect URI报错如何解决?
故障原因
该错误的核心是Okta收到的redirect_uri参数值,与你在Okta OIDC应用中预先配置的登录重定向URI没有精确匹配,Okta拒绝了授权请求。
排查与解决步骤
- 首先提取实际请求的重定向URI:触发用户流跳转时,复制浏览器地址栏中Okta授权请求里的
redirect_uri参数完整值,不要修改任何字符(包括大小写、尾斜杠、参数部分) - 登录Okta管理后台,进入你创建的OIDC应用配置页,在「登录重定向URI」列表中添加刚才复制的完整URI
- 常见匹配失败的坑点:
- 配置的重定向URI租户名、租户ID拼写错误,或者大小写不匹配
- 配置的URI多了/少了尾斜杠,和实际请求不一致
- 如果你给B2C配置了自定义域名,没有把自定义域名的
https://<你的自定义域名>/<租户ID>/oauth2/authresp添加到Okta的重定向列表,还在用默认的b2clogin.com地址 - Okta应用类型选错,非Web类型的应用对重定向URI的校验规则不同
- 配置保存后等待1-2分钟让Okta配置生效,再重新测试用户流即可
注意:你在Azure侧应用注册中配置的http://localhost:3000是最终用户登录完成后回调到你的业务系统的地址,和Okta侧需要配置的B2C回调地址是两个完全独立的配置,不要混淆。
内容的提问来源于stack exchange,提问作者colinwurtz
相关产品推荐
相关产品推荐

