是否/可以将Alexa替换为链接用户生成的UserId?

问题描述 投票:0回答:1

我们有一个应用程序利用Alexa技能与帐户链接的用户详细信息。

根据Alexa关于documentation的账号:

enter image description here

我们的技能是为帐户链接设置的,帐户链接又指用于用户身份验证的第三方(或可能是内部)身份管理系统(IMS)。我们的应用程序(以及我们的组织)不会在内部维护应用程序的用户身份。

假设用户在她的设备上启用了我们的技能,此时(根据上述文档),她被发布了一个Alexa生成的userId,类似于:

"userId": "amzn1.ask.account.AFMWOL5WIGQZLYYEMM2IJL2BJ26ICPQHBPR2DSLRX46CHW36R6CPVH7RZTUZMBCHHJLQQNU3YO2BWZWNIRTM3PCAGTNZKILK33PM2XVI36H4RSINFH2A26OLURAIB2RVPV6GMK56BR5BLBIFNJKT64EANASM7IDTQJBQLGDIEUZHUIM6VSHTTOUPVPITIPOIOPESUK53TSALU5I"

因此,在与技能进一步互动后,她希望访问一些更加个性化的信息,这些信息会触发帐户关联,以便通过提供的帐户链接详细信息(OAuth 2授权代码配置文件)确认并重新建立其身份,同时这样做,之前提到联系第三方身份管理系统(不是LWA)来验证用户身份:

  • 向用户显示登录屏幕,
  • 她输入了她的证件,说:"alice"/"password123"
  • 她回答相关问题以允许我们的应用程序可以代表她执行的某些操作
  • 允许在更个性化的基础上进一步与系统交互

让我们说在我们的应用程序中,我们希望能够通过她的真实userId:alice识别用户,而不是亚马逊自动分配的用户,如上所述。

  • Alexa是否允许这样做?
  • 成功进行帐户链接后,Alexa会在其JSON请求中覆盖(或者它能以某种方式通过它,以及现在嵌入的accessToken字段)从第三方身份提供商处收到的userId,以便那个“真正的”userId(它被称为在OAuth中使用subjectId?)然后可以用来识别她与应用程序进一步交互时的用户操作?

  • 如果是,我们如何通过Alexa Java API从JSON获取用户详细信息?
  • 如果不是,有什么方法可以促进这种能力?
  • 在验证用户身份后,Alexa可以从accessToken获取真实userId吗?如果是这样,怎么样? 我不确定它是否与this有关,似乎是一个类似的请求,它已被放在Alexa的路线图上或已成为一个功能?
authentication oauth-2.0 alexa alexa-skills-kit identity-management
1个回答
1
投票

这似乎是How to obtain userId specified by Alexa user during account linking的详细版本

一般来说,在用户完成OAuth认证后,应用程序(在这种情况下为Alexa)将收到access_tokenrefresh_token。如果您想要任何其他数据,例如用户名alice,电子邮件,电话,地址等等,您需要与您的OAuth提供商联系,看看他们是否有API来检索基于具有适当范围的access_token的API。

© www.soinside.com 2019 - 2024. All rights reserved.