如何在 WebApi 2 中登录 Alexa 关联帐户?

How to make a login for Alexa Linked Account in WebApi 2?

我需要将我的网站连接为我的 Alexa Skills 中的 linked 帐户,我在我的网站上还没有登录,它向以下 API 发出请求并设置了 JWT 令牌在像这样的 cookie 中:

   <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 重用到 link 我的网站帐户到 Alexa Skills,因为当 Alexa 向我的网站发出请求时,我必须从 JWT 令牌中检索一些声明 API 请求一些数据?

我还没有尝试制作这样的 linked:

在我的 Alexa 应用程序中,该网站实际上已打开,但当我登录时,它只是在网站内部登录,而没有 link 将其发送到 Alexa

你的解释不清楚,但你提到 cookie 让人觉得你走错了路。您需要 OAuth2 授权流程。

如果我在 Amazon 登录(身份验证),我会填写我的登录名和密码,他们会确认它们,设置 cookie,然后我可以访问该网站,并以我的身份登录。

如果我使用 Login WITH Amazon(授权),我会转到一个 site/app,它会在浏览器、webView 或 inAppBrowser 中向 Amazon 的 OAuth 服务器发送一个特殊请求并将我发送给我。如果我没有使用 cookie(以确保是我),亚马逊可能会让我登录,然后说“你想授予此 site/app 权限以代表你访问这些特定功能和数据吗?”如果我说是,Amazon 会将我重定向回 site/app 并在 URL 返回时在 URL 中放置一个短期访问令牌(隐式授予)或代码(授权授予)。

然后 site/app 使用访问令牌(或使用代码获取可再生访问令牌)访问我授予其使用权限的特定 Amazon API。

因此,如果您要访问您的网站、登录、设置 cookie,仅此而已……这不是正确的帐户链接过程。

https://developer.amazon.com/en-US/docs/alexa/account-linking/account-linking-concepts.html