我成功地将我的Alexa应用程序(客户端)链接到我们的公司OpenID Connect平台(授权服务器)。
我们的授权服务器将以下信息返回给Alexa客户端:
{
"access_token":"eyAi",
"refresh_token":"kfQ",
"scope":"openid profile",
"id_token":"eyA",
"token_type":"Bearer",
"expires_in":3598
}
Alexa客户端成功接收到此信息,并在调用技能时将“access_token”传递给我们的代码。
总而言之,两个系统是链接的,alexa正在向我们发送access_token。到现在为止还挺好。
但是,问题是我们的平台需要“id_token”而不是“access_token”。所以我希望Alexa给我们发送id_token。
我找不到任何关于如何实现这一目标的文档。请帮忙。
Here是alexa下帐户链接的链接
我在将alexa帐户与cognito userpool链接时自己遇到了这个问题。以前我使用默认的cognito userpool authoizer来授权api网关。我把它改成了自定义授权器。你可以在这里阅读 - https://aws.amazon.com/blogs/compute/introducing-custom-authorizers-in-amazon-api-gateway/。
此外,我们使用idtoken来获取用户信息,而不是使用GetUser API从accesstoken获取用户信息。你可以在这里看到文档 - https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html。