如何 link 使用基本身份验证而不是 OAuth 2.0 的第 3 方应用程序的 Alexa 用户

How to link an Alexa user with 3rd party app using basic authentication instead of OAuth 2.0

我正在创建一个自定义 Alexa 技能,它使用应用程序的 API 从应用程序获取信息。为了使用该应用程序,您必须拥有一个帐户。该应用程序使用基本身份验证对用户进行身份验证,即用户使用其用户名和密码登录,授权服务器提供一个 cookie 以确保用户在使用该应用程序时经过身份验证。授权服务器不提供获取访问令牌的 API。

这是一个问题,因为 Amazon Alexa documentation on account linking 指定授权服务器必须 return 访问令牌,因为此访问令牌唯一标识系统中的用户。为了获得访问令牌,授权服务器需要使用 OAuth(授权代码授予或隐式授予)。

重申一下,Amazon 需要访问令牌,但此授权服务器不提供;它仅支持基本身份验证。有没有办法 link 使用基本身份验证的帐户,即使亚马逊不直接支持它?我想以亚马逊希望完成的方式来处理它。也就是说,我还是想把我的技能托管在Echo配套应用上,用户可以通过输入用户名和密码来link他们的账户。但它不是取回访问令牌,而是取回 cookie,亚马逊可以像存储访问令牌那样存储 cookie。然后,无论何时用户调用该技能,都可以在 http 请求中使用存储的 cookie。亚马逊本身不支持这一点,所以我想知道如何做到这一点,或者是否有可能。

在阅读了亚马逊 alexa 文档并测试了 alexa 应用程序上的帐户链接后,我可以向您保证您无法绕过现有的建议。如 alexa 文档中所述,您的第三方应用程序应提供 Oauth2.0 身份验证,提供访问令牌,并且此服务器应 运行 通过 https 并具有亚马逊可识别的有效证书