【问题标题】:How to Set Up Account Linking for a Skill using Alexa API from Amazon?如何使用亚马逊的 Alexa API 为技能设置帐户链接?
【发布时间】:2017-04-08 11:29:46
【问题描述】:

我正在尝试弄清楚如何将技能与自定义用户帐户相关联。这是文档中的内容:

隐式授权的帐户链接流程(用于自定义技能):

  1. 在 Alexa 应用程序中,用户启用该技能。
  2. 该应用会显示您的 应用内的登录页面,使用您的授权 URL 在开发者门户上注册技能时提供。什么时候 配套应用调用此 URL,它包括 stateclient_idresponse_typescope 作为查询字符串参数。

    • Alexa 服务在帐户关联过程中使用该状态。您的页面需要跟踪此值,因为您必须稍后将其传回。
    • state 由 Alexa 服务在帐户期间使用
    • client_id 是您在开发者门户中为技能设置帐户链接时定义的值。
    • 对于隐式授权流,response_type 始终为 token
    • scope 是访问范围的可选列表,指示请求的访问级别。在为您的技能启用帐户链接时,您定义要支持的范围集。
    • redirect_uri 是用户通过身份验证后服务将用户重定向到的 URL。
  3. 用户使用他们的正常凭据登录您的站点。

  4. 您的服务对用户进行身份验证,然后生成一个访问令牌,用于在您的系统中唯一标识该用户。
  5. 您的服务将用户重定向到指定的redirect_uri,并在URL 片段中传递stateaccess_tokentoken_type
  6. Alexa 服务验证返回的信息,然后为 Alexa 用户保存 access_token
  7. 用户的 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


    【解决方案1】:

    我遇到了类似的问题,我不得不在令牌之前使用哈希而不是 & 符号。我的重定向网址是:

    https://subdomain.amazon.com/spa/skill/account-linking-status.html?vendorId=W5TGH673R#access_token=something-I-made-up&state=same_long_string&token_type=Bearer
    

    【讨论】:

    • token 可以是你想要的任何东西,当用户进行语音交互时,它会由 Alexa 传回给你。 OAuth 令牌可能是一种安全、标准的方式。
    猜你喜欢
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    相关资源
    最近更新 更多