LinkedIn的访问令牌续订流程是否可以在服务器上执行?

rin*_*ogo 5 api oauth linkedin oauth-2.0

在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

San*_*ram 14

事实证明,如果没有linkedin用户登录到linkedin,则无法刷新linkedin的访问令牌.请参阅第一条评论点击这里通过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天生命周期的访问令牌.