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 中:
- 创建一个代表我的 web 应用程序的应用程序,该应用程序由 alexa 技能调用。
- 包括网站api:是
- 隐式授权:是
- 配置应用程序 ID (
https://{tenant}/{myapi}
)
- 保存
- 使用描述性名称和值发布范围。重要的标签是值而不是名称。
- 保存
- 为 Alexa 创建第二个应用程序
- 包括网站api:是
- 隐式授权:是
- 响应URL:设置Alexa提供的两个url
- 保存
- 转到 Api 访问 > 添加 > Select 之前的 API、select 全部并保存
在 Alexa 配置面板中:
- 授权URL:取
https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration?p={policy}
中找到的url
- Client id:您的Alexa应用程序在B2C中的应用程序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}
中找到的 url
- Client Secret: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. 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".
这是你目前尝试过的路径吗?您能否提供有关失败位置的任何详细信息?是否出现登录屏幕?你遇到过错误吗?
这两天我尝试将 Azure AD B2C 与 Amazon Alexa 一起用于帐户链接,但没有成功。 Alexa 和 ad b2c 都没有提供调试方法,而且我看不到服务之间的交换。
有人成功过吗?
编辑:感谢 Saeed Akhter,我终于在 Alexa/B2C 配置中取得了成功。
在广告 B2C 中:
- 创建一个代表我的 web 应用程序的应用程序,该应用程序由 alexa 技能调用。
- 包括网站api:是
- 隐式授权:是
- 配置应用程序 ID (
https://{tenant}/{myapi}
) - 保存
- 使用描述性名称和值发布范围。重要的标签是值而不是名称。
- 保存
- 为 Alexa 创建第二个应用程序
- 包括网站api:是
- 隐式授权:是
- 响应URL:设置Alexa提供的两个url
- 保存
- 转到 Api 访问 > 添加 > Select 之前的 API、select 全部并保存
在 Alexa 配置面板中:
- 授权URL:取
https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration?p={policy}
中找到的url - Client id:您的Alexa应用程序在B2C中的应用程序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}
中找到的 url
- Client Secret: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. 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".
这是你目前尝试过的路径吗?您能否提供有关失败位置的任何详细信息?是否出现登录屏幕?你遇到过错误吗?