LinkedIn 的访问令牌更新流程可以在服务器上执行吗?

2023-11-27

在 Facebook 的 Graph API 中,一旦我们初步验证了用户身份,我们就可以直接与 API(从服务器)进行交互,以获得长期存在的页面访问令牌。这个长期存在的页面访问令牌永远不会过期。 (https://developers.facebook.com/docs/facebook-login/access-tokens/)

在阅读 LinkedIn 的文档时,似乎不可能使用无限期(不过期)访问令牌来获取访问令牌。它们似乎每 60 天就会过期一次。但是,这些访问令牌可以在 60 天到期之前刷新。

文档中尚不完全清楚的是访问令牌更新是否可以在没有客户端交互的情况下单独在服务器上执行。文档的语言表明需要客户端(浏览器)的交互,但没有明确说明。

所以,我的问题是,是否可以单独使用服务器来更新 LinkedIn 访问令牌,而不需要客户端(浏览器)的交互?

相关LinkedIn参考资料:https://developer.linkedin.com/documents/handling-errors-invalid-tokens


事实证明,如果linkedin用户没有登录linkedin,则无法刷新linkedin的访问令牌。请参考第一条评论here由 LinkedIn 员工明确指出"this refresh will only work if the user is still logged into LinkedIn (authenticated) and the current access token isn't expired. Otherwise, the user will be presented with the login dialog again."

我想对于那些之前将 linkedin 访问令牌存储到数据库以供以后使用的人来说,现在这是一个主要问题。

我在这里提到的几个链接涉及刷新 linkedin oauth2 令牌的问题(希望这能让每个遇到相同问题的人清楚):

1) 仅当用户仍登录 LinkedIn(经过身份验证)并且 当前访问令牌未过期。否则,将向用户显示登录信息 再次对话。

2) 无法使用旧的身份验证令牌/密钥刷新令牌。用户 需要登录 linkedin 才能刷新令牌。我们使用这个流程 以最佳方式保护我们的会员及其数据。

3)刷新访问令牌非常简单,无需授权即可发生 为用户显示的对话框。换句话说,这是一个无缝的过程,不会影响 您的应用程序的用户体验。只需让您的申请通过 授权流程,以便获取具有额外 60 天生命周期的新访问令牌。当存在以下条件时: - 用户仍登录 Linkedin.com -当前访问令牌未过期(在 60 生命周期内) 我们将自动将用户重定向回您的redirect_uri,而不要求他们重新授权您的应用程序。如果它们不存在,我们将提示他们登录,然后重定向 他们。

4) 我们还标准化了授权令牌的持续时间。此前,会员 可以选择授予短至一天或长至永远的代币。现在所有 令牌的长度为 60 天,每当会员返回您的应用程序时,您都可以以一系列滚动的 60 天增量来延长它们。为了防止应用程序中出现不良的用户体验,请务必主动刷新令牌并通过刷新流优雅地路由任何过期的令牌。

5) 只要用户登录 LinkedIn 并且其当前访问令牌尚未过期,您就可以在用户下次访问您的应用程序时获取有效期为 60 天的访问令牌。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LinkedIn 的访问令牌更新流程可以在服务器上执行吗? 的相关文章

随机推荐