撤消plus.login

时间:2013-08-05 20:02:37

标签: php youtube google-plus token

在我的网站上有Google+和YouTube的授权流程。 用户可以将自己的Google+或YouTube帐户添加到我网站上的个人资料中。

作用域

  1. Google+:https://www.googleapis.com/auth/plus.login

  2. YouTube:https://www.googleapis.com/auth/youtube.readonly

  3. 当用户将两者都添加到他的个人资料中时,subtokens page上有两个条目。 一个用于Google+登录,另一个用于YouTube。

    方案

    用户想要从我网站上的个人资料中删除Youtube帐户。 =>我删除了数据库中的条目,并使用GoogleAuth函数(revokeToken())撤消了令牌。 撤销YouTube令牌后,subtokens page(Google+登录信息)只剩下一个条目。

    但是当用户只想从我网站上的个人资料中删除Google+并且我使用相同的GoogleAuth函数(revokeToken())时,这两个条目都将被撤销,并且在子目录页面上没有条目

    为什么YouTube条目也会被撤销?我只想撤销Google+登录信息。

    这个问题有解决方案吗?

    编辑(06.08.2013)

    当我检查https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=TOKEN上的令牌时,我得到以下结果:

    1。 YouTube令牌:

    "issued_to": "......",
    
    "audience": "......",
    
    "scope": "https://www.googleapis.com/auth/youtube.readonly",
    
    "expires_in": 3272,
    
    "access_type": "offline"
    

    2。 Google+令牌

    "issued_to": "......",
    
     "audience": "......",
    
     "user_id": "......",
    
     "scope": "https://www.googleapis.com/auth/plus.login",
    
     "expires_in": 3093,
    
     "access_type": "offline"
    

    令牌的范围不同,但为什么撤销Google+令牌后,YouTube令牌会被撤销?

1 个答案:

答案 0 :(得分:0)

https://www.googleapis.com/auth/plus.loginpolicy,要求开发人员实施断开连接。要断开连接,您需要撤消访问令牌,撤消您的应用为该用户请求的所有Google范围。

我不确定为什么您的应用程序一次只请求https://www.googleapis.com/auth/youtube.readonly,然后单独请求https://www.googleapis.com/auth/plus.login

更好的方法可能是根据用户启用的内容,使用您需要的完整范围列表来请求单个访问令牌。