我们有一个利用 Alexa 技能的应用程序,其中包含用户详细信息的帐户链接。
根据 Alexa 的帐户关联 文档:
我们的技能是为帐户链接设置的,帐户链接又引用第三方(或者可能是内部)身份管理系统(IMS)进行用户身份验证。我们的应用程序(以及我们的组织)不会在内部维护应用程序的用户身份。
假设用户在她的设备上启用了我们的技能,此时(根据上述文档)她收到了 Alexa 生成的userId
, 就像是:
"userId": "amzn1.ask.account.AFMWOL5WIGQZLYYEMM2IJL2BJ26ICPQHBPR2DSLRX46CHW36R6CPVH7RZTUZMBCHHJLQQNU3YO2BWZWNIRTM3PCAGTNZKILK33PM2XVI36H4RSINFH2A26OLURAIB2RVPV6GMK56BR5BLBIFNJKT64EANASM7IDTQJBQLGDIEUZHUIM6VSHTTOUPVPITIPOIOPESUK53TSALU5I"
因此,在与该技能进一步交互时,她希望访问一些更个性化的信息,这些信息会触发帐户链接,以便通过提供的帐户链接详细信息(OAuth 2 授权代码配置文件)确认并重新建立她的身份,在这样做时,之前提到联系第3方身份管理系统(不是LWA)来验证用户身份:
- 用户会看到一个登录屏幕,
- 她输入她的凭据,说:
"alice"/"password123"
- 她回答相关问题以允许我们的应用程序可以代表她执行某些操作,并且
- 允许在更加个性化的基础上进一步与系统交互
假设在我们的应用程序中,我们希望能够通过用户的真实 userId 来识别用户:alice
而不是亚马逊自动分配的,如上所述。
- Alexa 允许这样做吗?
- 帐户链接成功后,Alexa 是否会覆盖其 JSON 请求(或者它是否可以以某种方式传递它,以及现在嵌入的
accessToken
字段)从第 3 方身份提供商接收的 userId),以便“真实”userId(在 OAuth 术语中称为 subjectId?)可以用于识别用户在与应用程序进一步交互期间的操作?
如果是,我们如何通过 Alexa Java API 从 JSON 获取用户详细信息?
如果不是,有哪些可能的方法可以促进这种能力?
-
能否获取真实的userIdaccessToken
Alexa 在验证用户身份后发出请求?如果是这样,怎么办?
我不确定是否与以下有关this,似乎是一个类似的请求,它是否已被列入 Alexa 的路线图或已经成为一项功能?
这似乎是详细版本如何获取Alexa用户在账户关联时指定的userId
一般来说,用户完成 OAuth 身份验证后,应用程序(即本例中的 Alexa)会收到一个access_token
and refresh_token
。如果您想要任何其他数据,例如用户名alice
、电子邮件、电话、地址...等,您需要咨询您的 OAuth 提供商,看看他们是否有 API 来根据access_token
具有适当的范围。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)