因此,在這裏的基本教程(https://developers.google.com/+/web/signin/javascript-flow)後,您可以輕鬆地爲Google帳戶添加客戶端登錄。如何驗證客戶端的Google +登錄?
通過修改代碼來查詢/人/我的,如下:
function signinCallback(authResult) {
if (authResult['status']['signed_in']) {
gapi.auth.setToken(authResult);
gapi.client.load('plus','v1', function(){
var request = gapi.client.plus.people.get({
'userId': 'me'
});
request.execute(function(resp) {
console.log(resp);
});
});
}
您可以訪問到基本賬戶信息;用戶名,圖像,名稱等。
您還有一個來自oauth登錄的有效訪問令牌。
現在,除非你有一個完全的客戶端應用程序,因爲某些時候你必須通知服務器用戶登錄,才能獲得該用戶的應用程序數據。
我想要做的是發佈到/ login/gauth {'access_token':...,'user_id':....},它將用身份驗證cookie進行響應並重定向回來;除了現在我們有一個持久的本地身份驗證令牌,我們可以用它來識別用戶。
在服務器上,我需要做的是使用訪問令牌訪問相同的REST api(/ people/me),並驗證它返回的用戶ID;任何其他提供的信息都可以在客戶端上僞造。
問題是,我找不到驗證/使用服務器端訪問令牌的任何方式。
我可以設置服務器上的一個新的OAuth登錄,並做了服務器只登錄過程,但這是相當複雜的,而且似乎浪費考慮到我已經有有效的訪問令牌。
我該如何使用它?