【发布时间】:2017-04-08 11:29:46
【问题描述】:
我正在尝试弄清楚如何将技能与自定义用户帐户相关联。这是文档中的内容:
隐式授权的帐户链接流程(用于自定义技能):
- 在 Alexa 应用程序中,用户启用该技能。
-
该应用会显示您的 应用内的登录页面,使用您的授权 URL 在开发者门户上注册技能时提供。什么时候 配套应用调用此 URL,它包括
state、client_id、response_type和scope作为查询字符串参数。- Alexa 服务在帐户关联过程中使用该状态。您的页面需要跟踪此值,因为您必须稍后将其传回。
-
state由 Alexa 服务在帐户期间使用 -
client_id是您在开发者门户中为技能设置帐户链接时定义的值。 - 对于隐式授权流,
response_type始终为token。 -
scope是访问范围的可选列表,指示请求的访问级别。在为您的技能启用帐户链接时,您定义要支持的范围集。 -
redirect_uri是用户通过身份验证后服务将用户重定向到的 URL。
用户使用他们的正常凭据登录您的站点。
- 您的服务对用户进行身份验证,然后生成一个访问令牌,用于在您的系统中唯一标识该用户。
- 您的服务将用户重定向到指定的
redirect_uri,并在URL 片段中传递state、access_token和token_type。 - Alexa 服务验证返回的信息,然后为 Alexa 用户保存
access_token。 - 用户的 Alexa 帐户现已链接到您服务中的帐户,并且可以使用该技能。
这是我从亚马逊得到的:
{
"client_id":"my-client-id",
"response_type":"token",
"state":"some_long_string",
"redirect_uri":"https:\/\/subdomain.amazon.com\/spa\/skill\/account-linking-status.html?vendorId=W5TGH673R
}
根据我在上面阅读的内容,我将重定向回:
https://subdomain.amazon.com/spa/skill/account-linking-status.html?vendorId=W5TGH673R&state=same_long_string&access_token=something-I-made-up&token_type=Bearer
不幸的是,这似乎不起作用。基本上我得到:Unable to link your skill
有什么想法吗?
【问题讨论】:
标签: api amazon alexa alexa-skills-kit