首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用LinkedIn JSAPI凭据cookie对用户进行身份验证

使用LinkedIn JSAPI凭据cookie对用户进行身份验证
EN

Stack Overflow用户
提问于 2013-10-24 15:54:50
回答 2查看 1.4K关注 0票数 3

我们希望在我们的应用程序中实现“使用LinkedIn登录”。由于应用程序有JS前端和基于REST的后端,我们决定用JSAPI令牌交换here中描述的REST API OAuth令牌。

如果用户登录成功,前端会将包含客户端持有者token和成员ID的凭据cookie发送到后端。在后端,我们检查具有这样的成员ID的用户是否已经存在,如果不存在,我们将JSAPI令牌交换为REST API OAuth令牌,从LinkedIn检索用户详细信息并将其存储在我们的数据库中。

现在的问题是,我们是否可以使用该cookie来验证每个用户对REST后端的请求。用户通过JSAPI成功登录后,后续的所有请求都会自动将cookie传递给我们的后台,这样我们就可以检查会员ID了。有没有遗漏的缺点?或者,这个想法整体上是错误的?

我们是否应该只通过cookie对用户进行一次身份验证,然后发出我们自己的身份验证令牌并将其发送回客户端?

EN

回答 2

Stack Overflow用户

发布于 2013-11-07 02:56:37

cookies通常的工作方式是在每个请求上将它们传递到它们所属的域。LinkedIn正在为您的域设置凭据cookie。

只要您在每次请求时验证这些凭据,使用它们的令牌作为身份验证是完全可以接受的。

就我个人而言,我认为这不是一个好主意,我更喜欢验证他们的凭据一次,然后创建我自己的auth令牌,以便从那时起使用。您始终可以将该令牌设置为在某个时间点过期,然后重新验证LinkedIn凭据(该凭据仍然会在每次请求时发送)。这限制了你用LinkedIn检查的次数,应该会增加你的应用程序的响应性。

票数 1
EN

Stack Overflow用户

发布于 2013-11-13 11:46:54

任何一种方式都可以工作。

如果您正在使用LinkedIn cookie通过成员id验证用户,则应该根据您链接的文档的第2节和常见问题解答的问题2对每个请求验证cookie的签名。

使用你自己的令牌可以更容易地实现一个属于你的应用程序的帐户,并且不一定连接到LinkedIn,假设有可能只连接到其他一些服务或没有第三方(y/ies)。但是,只要您信任cookie中的成员id,仍然应该进行验证。

该文档提供了一个用PHP语言编写的验证示例,如果您对改进ruby版本感兴趣,我有一个shameless plug.

如果您只是登录将OAuth令牌转换为OAuth令牌,然后不再进一步使用JSAPI令牌,那么您在最新评论中概述的直接获取JSAPI令牌的流程是最好的方法。如果您计划在前端应用程序中实际使用JSAPI令牌,并在后端使用OAuth令牌,那么最好采用转换路线。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19560113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档