在我的網站上有針對Google+和YouTube的授權流程。 用戶可以將他的Google+或YouTube帳戶添加到我的網站上的個人資料。撤銷plus.login
作用域:
Google+的方式:
https://www.googleapis.com/auth/plus.login
的YouTube:
https://www.googleapis.com/auth/youtube.readonly
當用戶都加入到他的個人資料,所以有上subtokens page兩個條目。 一個用於Google+登錄,另一個用於YouTube。
方案:
用戶要刪除我的網站從配置文件中的Youtube賬戶。 =>我刪除數據庫中的條目並使用GoogleAuth函數(revokeToken()
)撤銷令牌。 我撤銷YouTube令牌後,subtokens page(Google+登錄)上只剩下一個條目。
但是,如果用戶只想從我的網站上的配置文件中刪除Google+,並使用相同的GoogleAuth功能(revokeToken()
),那麼這兩個條目都將被撤銷,並且subtokens頁面上沒有條目。
爲什麼YouTube條目也會被撤銷?我只想撤銷Google+登錄。
有沒有解決這個問題的方法?
編輯(2013年8月6日)
當我檢查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+ Token
"issued_to": "......", "audience": "......", "user_id": "......", "scope": "https://www.googleapis.com/auth/plus.login", "expires_in": 3093, "access_type": "offline"
令牌有不同的範圍,但爲什麼會被撤銷,一旦撤銷我了Google+令牌YouTube的令牌?
用戶應該可以選擇是否只添加Google+或YouTube(也許他不想添加YouTube或Google+,所以他添加了他想要的內容)。當他一個接一個的時候,他也可以添加到他的個人資料中。 – user2654370
這就是爲什麼我分別請求「plus.login」和「youtube.readonly」的原因。 有沒有可能撤銷單個令牌(Google+或YouTube)?兩者都有不同的訪問權限和刷新標記。 當我撤銷YouTube標記時,Google+標記仍然存在。爲什麼其他方式不起作用? – user2654370
請求plus.login時,不可能撤銷單個標記。我認爲預期的實施模式是,如果用戶想要連接YouTube,您只需向youtube.readonly申請一個令牌。如果他們想要訪問Google+,則需要使用youtube.readonly和plus.login(或plus.me)來申請一個新的令牌。如果他們想要取消Google+的訪問權限,您將撤消該令牌並使用youtube.readonly申請新的令牌。 – Lee