amazon-web-services - 使用 LWA 的 Alexa BDD 测试的 Authcode
问题描述
在 Accountlinking 期间,Alexa 服务器使用其 Authcode 启动 Acceptgrant API,以便可以将其交换为 Access Token。我想测试接受 Authcode(邮递员或 BDD 测试)的 API。我们如何生成这个?这对自动化测试非常有帮助。
我已经尝试使用 AWS JS SDK 进行 LWA。我们需要在安全配置文件中将服务器列入白名单。这基本上会打开一个浏览器实例并将 Authcode 附加到 redirect_uri。除了这个还有其他方法吗?我阅读了有关 CLI 的信息,我们可以在其中获取 accesstoken 但不能获取 authcode。
此外,当我们创建一项技能时,它会生成一个 ClientId。此 ClientId 是否有任何安全配置文件?如何将我的服务器列入此 ClientId 的白名单?我没有找到将此客户端 ID 链接到安全配置文件的方法。
更多信息:我将详细说明。基本上,当用户从 Alexa UI 启用技能时,Alexa 在帐户链接期间发送 AcceptGrant 指令。AcceptGrant 由 Authcode 组成,因此用户/企业(智能设备制造商云)可以使用 LWA 获得 accesstoken。所以现在业务已经公开了接受 Authcode 的 API。现在我正在尝试测试这个 API。目前我找不到生成此令牌的方法。
如果我使用 LWA 流生成 authcode,这需要一个 redirect_uri。但是,如果我使用 Alexa 发送的代码(在帐户链接流程期间),则不需要 redirect_uri。从这个页面
如果我使用 AWS JS SDK,它不需要 redirect_uri 来请求 access_token 。当我尝试 AWS JS 生成身份验证码时,我收到一个安全错误,要求用户将域列入白名单。而且我找不到将 Alexa 的 client_id 列入安全配置文件的白名单的方法。
解决方案
在技能链接中,从技能链接到 3p 服务器,Alexa 处理身份验证代码交换并为您检索访问令牌。身份验证代码永远不会暴露给该技能,因为您不需要它。
只好一次。之后,您将使用使用身份验证代码时返回的刷新令牌。
也许如果您描述了您要完成的用例以及您认为需要代码的原因,那么就有可能为您提供更多有用的帮助。
推荐阅读
- windows - Windows GNU Make 在某些情况下会破坏 POSIX 颜色代码,但为什么呢?
- jquery - 如何使用角度而不是jquery打开悬停下拉菜单?
- javascript - PHP - 关闭子窗口,刷新父窗口,转到锚点
- reactjs - ES6:.reduce 函数
- .net - How do I reference a field's content in Ext?
- javascript - 如何在角度6中转置表格
- oracle - 如何在登录我的数据库时生成自定义消息(横幅)
- javascript - Javascript scrollIntoView() 方法第一次在 react 中不起作用
- python - (如何)我可以将 seaborn despine 函数应用于单个子图吗?
- xamarin.forms - 应用中心事件需要数小时才能与崩溃相关联