Amazon Alexa 帐户链接不适用于 Azure AD B2C

Amazon Alexa Account Linking doesn't work with Azure AD B2C

这两天我尝试将 Azure AD B2C 与 Amazon Alexa 一起用于帐户链接,但没有成功。 Alexa 和 ad b2c 都没有提供调试方法,而且我看不到服务之间的交换。

有人成功过吗?

编辑:感谢 Saeed Akhter,我终于在 Alexa/B2C 配置中取得了成功。

在广告 B2C 中:

  1. 创建一个代表我的 web 应用程序的应用程序,该应用程序由 alexa 技能调用。
    • 包括网站api:是
    • 隐式授权:是
    • 配置应用程序 ID (https://{tenant}/{myapi})
    • 保存
    • 使用描述性名称和值发布范围。重要的标签是值而不是名称。
    • 保存
  2. 为 Alexa 创建第二个应用程序
    • 包括网站api:是
    • 隐式授权:是
    • 响应URL:设置Alexa提供的两个url
    • 保存
    • 转到 Api 访问 > 添加 > Select 之前的 API、select 全部并保存

在 Alexa 配置面板中:

之后,如果您尝试从 Alexa 链接帐户,一切都会正常!

免责声明:我还没有尝试过这个,很抱歉这是对你已经尝试过的事情的重复。

我在这里扫描亚马逊的文档: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/linking-an-alexa-user-with-a-user-in-your-system

您可以使用 Azure AD B2C 发布访问令牌,然后您自己的 Web 资源接受这些令牌,这似乎是可行的。如果可能(而不是隐式),似乎让授权代码授予工作是理想的。

您需要注册两个应用程序: 1. Alexa App注册 2.您的网站资源注册

在 Azure AD B2C blade 中,您的 Web 资源注册将需要定义一个自定义范围。您的 Web 资源需要访问该范围,请参阅: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-access-tokens#granting-permissions-to-a-web-api

听起来像 Alexa 应用程序 client_id(在 Azure AD B2C 应用程序属性 blade 中称为应用程序 ID)需要在设置帐户链接以及 "scope value" 您刚刚在 Azure AD B2C 中定义 blade(请不要使用 "scope name" 这只是对范围的描述)

对于授权 URL 和令牌 URL,您可以通过单击 blade 顶部的 "well-known" 元数据 URL 找到它们在 Azure 门户中打开策略。在元数据文档中,您会发现 "authorization_endpoint" 和 "token_endpoint".

这是你目前尝试过的路径吗?您能否提供有关失败位置的任何详细信息?是否出现登录屏幕?你遇到过错误吗?