当前位置: 首页 > 知识库问答 >
问题:

Alexa帐户链接-预期格式

华季同
2023-03-14

我试图在我的技能中使用帐户链接。问题是文档不够清晰。我有一个登录屏幕,它重定向到URL参数中提供的amazon重定向uri,我还包括代码(顺便说一句,我使用的是Auth code Grant),问题来了。我的脚本获取代码和客户端凭据并生成两个令牌,但是它应该如何处理它们呢?他们的系统是否等待json响应或包含两个令牌(使用它们的名称作为键)的东西,或者我是否应该再次重定向?他们在文档中说服务器应该返回访问令牌和刷新令牌是什么意思?

共有3个答案

冉德元
2023-03-14

用户将被重定向到基于表单的登录页面,用于获取用户凭据
在通过后端安全脚本验证用户凭据和用户权限后,将请求重定向到授权endpoint以生成授权代码。
一旦请求到达授权终端,它将验证客户端详细信息。
一旦验证,用户将被重定向到批准页面。
一旦我们从用户那里得到确认,您的后端安全服务器脚本需要创建自动化代码,需要把它还给AWS alexa客户端。AWS客户端将调用我们的访问令牌终端来获取访问令牌和刷新令牌。
一旦AWS客户端获得访问令牌和刷新令牌,该技能将被链接到用户。
AWS Alexa客户端在用户链接技能后,在每次请求中发送访问令牌

您的问题:AWS客户端将调用您的访问令牌endpointurl以及授权代码和客户端凭据,您的后端脚本需要验证这些输入,并需要创建访问令牌、刷新令牌并将其发送回AWS客户端
这是来自AWS客户端的POST请求,您必须返回对同一POST请求的响应。

凌善
2023-03-14

在Amazon开发者论坛上有多个关于此主题的帖子。我在自制的brew AVS设备(RPi3)上尝试了该教程,它没有问题(我可以从我的Amazon帐户获得用户名等),尽管我仍然不知道如何在AVS SDK中访问activity api json。

林华皓
2023-03-14

令牌响应应该如下所示。我相信exires_in和refresh_令牌属性是可选的。

{
  "access_token": "...",
  "refresh_token": "...",
  "expires_in": 3600
  "token_type": "bearer"
}

https://developer.amazon.com/docs/alexa-voice-service/authorize-companion-site.html#auth-代码授权。

 类似资料:
  • 你会认为亚马逊的两种产品会很好地整合在一起。你还会认为亚马逊会在他们的服务上留档。两者都大错特错。 我正在使用与Alexa的帐户链接,并使用AWS Cognito作为我的oauth提供商。我能够成功地链接我的帐户只是罚款,并与每一个后续的alexa调用我得到一个访问令牌返回给我。现在怎么办? 我需要能够从alexa lambda功能访问其他AWS服务,如dynamo、lambda和iot。我想这很

  • 我正在创建一个帐户链接Alexa技能。我得到了链接授权码并将其交换为访问令牌。然后,我尝试将所有参数:代码、访问令牌、技能ID放入Alexa技能激活API。我总是得到一个信息:“无效的帐户链接凭据”。 要怎么做?

  • 我试图建立一个alexa技能,这将有facebook登录作为一个帐户链接提供商。我已经建立了它的开发版本,正在使用我自己的帐户。现在我正在考虑提交Facebook的应用程序进行审查,这样我就可以公开我的应用程序,并发布alexa技能。 我遇到的第一个可能是,我需要在FB应用程序中指定平台。最接近我的用例的可能是网站。但是要在字段中放置什么url。我的技能网址? 另一件事是,我想让用户的好友列表,使

  • 我真的在努力让我的头脑循环账户链接到alexa技能。我已经写了一个技能给我信息从strava回来,所有的工作都很好,但我需要一个令牌来访问用户Strava帐户。 我已经阅读了亚马逊的文档,但是对于如何设置链接,我仍然有点困惑。我可以打开Strava登录页面,但我刚从amazon收到一个错误,上面说“无法链接技能”,这是我的设置: 授权URL-https://www.strava.com/oauth

  • 我试着把我的蔚蓝环境和阿列克谢联系起来。我使用与HTTPBasic身份验证代码授予。输入授权URI、令牌URI、客户端ID和客户端秘密后,alexa技能中的链接帐户页面重定向到login.microsoftonline.com.登录后,我被重定向到skills.amazon.com上面写着无法将帐户链接到您的技能。对于alexa终结点,我使用的是Azure Function App。在Postma

  • 我的目标是以我的技能使用OAuth访问令牌读取/管理用户日历(Google/Microsoft/Apple)。如果只有一个帐户,我可以这样做。然而,我想让用户选择不同的账户(谷歌/微软/苹果)。我相信我们可以使用OAuth隐式授权类型来实现这一点。但我想使用OAuth'Auth Grant Type',它提供刷新令牌。因此,我不想要求用户在访问令牌过期时(1小时)再次链接帐户。有可能做到这一点吗?