如何在我的应用程序中取消授权/撤销LinkedIn令牌

时间:2013-04-02 14:17:25

标签: grails oauth token linkedin

我有一个grails应用程序,我希望用户授权我访问他/她的LinkedIn帐户以获取信息并以不同方式显示它。

我能够做到以下几点:

  1. 获取授权码
  2. 使用该授权码获取访问令牌
  3. 我将访问令牌与过期日期一起存储在我的用户实体中。
  4. 当到期日期在今天的X天内时,刷新访问令牌。
  5. 现在我遇到的问题是,我希望用户撤销或使该令牌无效,以便其他人可以使用同一台计算机和会话并登录其他LinkedIn帐户。

    • 这可能吗?
    • 如果没有?有没有办法删除LinkedIn cookies?以便用户的LinkedIn会话结束并从LinkedIn注销然后他们将不得不再次授予对我的应用程序的访问权限。

    供参考:

    • 我正在使用Grails 2.1.1
    • 使用oauth进行身份验证,我只是使用Groovy的HTTPClient来执行简单的GET和POST请求。

    提前多多感谢!

2 个答案:

答案 0 :(得分:1)

最简单的方法就是从存储中删除Access Token。这样您就无法再访问该帐户了。当LinkedIn使用OAuth 1.0a时,他们有一个Invalidate调用,这将使访问令牌无效。但当他们转向OAuth 2.0时,它就消失了。

答案 1 :(得分:0)

通过此调用,我设法撤消了API v2上的令牌:

curl --request POST \
  --url https://www.linkedin.com/oauth/v2/revoke \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data client_id=CLIENT_ID_HERE \
  --data client_secret=CLIENT_SECRET_HERE \
  --data token=YOUR_TOKEN_HERE