asp.net-web-api2 - 如何在 WebApi 2 中登录 Alexa Linked Account?
问题描述
我需要在我的 Alexa Skills 中将我的网站作为链接帐户连接,我还没有登录我的网站,它向以下 API 发出请求并在 cookie 中设置 JWT 令牌,如下所示:
<HttpPost()>
<Route("login")>
Public Function GetLogin(data As Utenti.Login)
If data.username = "" Or data.password = "" Then
Return Nothing
End If
Dim utenti As Utenti = New Utenti
Return utenti.UserExists(data.username, data.password)
End Function
我如何重用该 API 将我的网站帐户链接到 Alexa Skills,因为当 Alexa 向我的网站 API 发出请求以请求一些数据时,我必须从 JWT 令牌中检索一些声明?
我还没有尝试过这样的链接:
在我的 Alexa 应用程序中,该网站实际上已打开,但是当我登录时,它只是在网站内部登录,而没有将其链接到 Alexa
解决方案
您的解释不清楚,但您提到的 cookie 让您看起来好像走错了路。您需要 OAuth2 授权流程。
如果我登录亚马逊(身份验证),我填写我的登录名和密码,他们确认,设置一个 cookie,然后我可以访问该网站,以我的身份登录。
如果我使用 Login WITH Amazon(授权),我会在浏览器、webView 或 inAppBrowser 中转到一个向 Amazon 的 OAuth 服务器发送特殊请求的站点/应用程序和我。如果我没有 cookie,亚马逊可能会让我登录(确保是我),然后说“你想授予这个网站/应用程序代表你访问这些特定功能和数据的权限吗?” 如果我说是,亚马逊会将我重定向回站点/应用程序,并在返回给我时在 URL 中放置一个短期访问令牌(隐式授予)或代码(授权授予)。
然后,站点/应用程序使用访问令牌(或使用代码获取可更新的访问令牌)来访问我授予它使用权限的特定 Amazon API。
因此,如果您要访问您的站点,登录,设置 cookie,仅此而已……这不是帐户链接的正确过程。
https://developer.amazon.com/en-US/docs/alexa/account-linking/account-linking-concepts.html
推荐阅读
- javascript - For循环 - 如何引用状态中的对象?
- javascript - 用于装箱算法的画布到 SVG 的实现
- r - 在 r 中重命名 ts 对象的月份
- windows - 在 Winapi 中创建 24 位 BITMAP
- infopath - 如何确保自动填充的用户名不会被 InfoPath 中的另一个用户名替换
- c# - 动画过渡统一
- angular - Angular 8 更新后未构建 Angular MomentDateTimeAdapter
- php - 您如何使用 htaccess 从 URL 中隐藏某些内容
- swift - 结合在游乐场
- c# - 在按钮单击时使用 System.IO