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

时间:2017-07-19 13:02:53

标签: alexa-skills-kit 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创建第二个应用
    • 包含web api:是
    • 授权隐含:是
    • 响应网址:设置Alexa提供的两个网址
    • 保存
    • 转到Api访问>添加>选择以前的API,选择全部并保存
  3. 在Alexa配置面板中:

    • 授权网址:获取https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration?p={policy}
    • 中的网址
    • 客户端ID:您在B2C中的Alexa应用程序的应用程序ID
    • 域名列表:login.microsoftonline.com
    • 范围:
      • 的OpenID
      • 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}
    • 中的网址
    • 客户端密码:B2C为您的Alexa应用程序生成的秘密

    之后,如果您尝试从Alexa链接的帐户,一切都应该有效!

1 个答案:

答案 0 :(得分:1)

免责声明:我还没有尝试过这个,对不起,这是你已经尝试过的事情的重演。

我在这里扫描亚马逊的文档: 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.您的Web资源注册

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

听起来,当您设置帐户链接以及"范围值&#时,需要在亚马逊的开发人员门户中输入Alexa App client_id(在Azure AD B2C App Properties刀片中称为应用程序ID) 34;您刚刚在Azure AD B2C刀片中定义(请不要使用"范围名称"这只是对范围的描述)

对于授权URL和令牌URL,您可以通过单击"众所周知的"来找到它们。在Azure门户中打开策略时,刀片顶部的元数据URL。在元数据文档中,您将找到" authorization_endpoint"和" token_endpoint"。

这是你到目前为止尝试的路径吗?你能告诉我它失败的地方吗?是否出现登录屏幕?你有没有遇到过错误?