Amazon Alexa Account Linked 不适用于 Azure AD B2C



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

有没有人成功地做到这一点?

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

在 AD B2C 中:

  1. 创建一个应用,该应用表示由 alexa 技能调用的我的 Web 应用。
    • 包括网页 API:是
    • 授权隐式:是
    • 配置应用 ID (https://{tenant}/{myapi}(
    • 使用描述性名称和值发布范围。重要的标签是值,而不是名称。
  2. 为 Alexa 创建第二个应用程序
    • 包括网页 API:是
    • 授权隐式:是
    • 响应网址:设置亚历克萨提供的两个网址
    • 转到 API 访问> 添加> 选择以前的 API,全选并保存

在 Alexa 配置面板中:

  • 授权网址:获取在https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration?p={policy}中找到的网址
  • 客户端 ID:B2C 中 Alexa 应用程序的应用程序 ID
  • 域列表:login.microsoftonline.com
  • 范围:
    • 开放ID
    • https://{your Alexa application id you setted in B2C}/{your custom scope value}
  • 访问令牌 URI:采用在https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration?p={policy}中找到的 URL
  • 客户端机密:B2C 为您的 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. 亚历克萨应用程序注册 2. 您的网络资源注册

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

听起来,当你设置帐户链接以及刚刚在 Azure AD B2C 边栏选项卡中定义的"范围值"时,需要在 Amazon 的开发人员门户中输入 Alexa 应用client_id(在 Azure AD B2C 应用属性边栏选项卡中称为应用程序 ID((请不要使用"范围名称",这只是范围的说明(

对于"授权 URL">

和"令牌 URL",在 Azure 门户中打开策略时,可以通过单击边栏选项卡顶部的"已知"元数据 URL 来找到它们。 在元数据文档中,您将找到"authorization_endpoint"和"token_endpoint"。

这是您到目前为止尝试的路径吗? 你能为我提供有关它失败的地方的任何细节吗? 是否显示登录屏幕? 您是否遇到过错误?

最新更新