使用查询字符串重定向 Azure B2C 中的 uri错误详细信息:URL 可能不包含查询字符串

问题描述

我正在尝试将 Azure B2C OAuth 用于与隐式流链接的 Alexa 帐户。以下是来自 Alexa 的重定向 url

https://alexa.amazon.co.jp/spa/skill/account-linking-status.html?vendorId=XXXXXXXXXX

但是在 Azure B2C 应用中添加这个会导致以下错误

未能更新 xxx-xxxxxxapp 应用程序。错误详情:URL 可能不包含查询字符串

我尝试了下面的链接解决这个问题,但它不起作用 https://blogs.aaddevsup.xyz/2018/04/query-string-is-not-allowed-in-redirect_uri-for-azure-ad/

我还尝试在 B2C 中使用 SPA 进行身份验证代码授予流程。这也不适用于 Alexa,因为它具有 PKCE - https://github.com/MicrosoftDocs/azure-docs/issues/64073

有人成功创建了这个吗?

解决方法

Azure AD B2C 中不允许添加 URL 参数。

您链接的文档还规定您使用 state 参数。问题在于您的 Amazon Alexa 需要供应商 Id URL 参数。

,

您可以添加自己的重定向服务,以便 B2C 重定向到您的服务,然后重定向到最终应用程序,添加可从 B2C 声明中提取的任何所需查询参数。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...