如何使用基本身份验证而不是OAuth 2.0将Alexa用户与第三方应用相关联

时间:2017-06-14 21:52:03

标签: oauth-2.0 amazon basic-authentication alexa

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

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

重申一下,亚马逊需要一个访问令牌,但这个授权服务器不提供访问令牌;它只支持基本身份验证。有没有办法使用基本身份验证链接帐户,即使亚马逊不直接支持它?我希望像亚马逊希望的那样接近它。也就是说,我仍然想在Echo伴侣应用程序上托管我的技能,用户可以通过输入用户名和密码来链接他们的帐户。但是,它不是获取访问令牌,而是取回cookie,而亚马逊可以只存储cookie,就像它存储访问令牌一样。然后,只要用户调用该技能,就可以在http请求中使用存储的cookie。亚马逊不支持这种本地化,所以我想知道如何做到这一点,或者甚至可能做到这一点。

1 个答案:

答案 0 :(得分:2)

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