實際中遇到須要Facebook和Google+等第三方受權登陸本身的Web應用(可能還有Android和IOS的手機應用),本質上都是JS SDK的官方應用。這時候不得不去他們官方查看文檔。javascript
注:一下全部鏈接若是沒法打開,請自行翻Q..........java
參考文檔:git
一、facebook:https://developers.facebook.com/docs/facebook-login/webgithub
二、google:https://developers.google.com/identity/sign-in/web/sign-in#add_a_google_sign-in_buttonweb
1、準備工做chrome
---facebookapi
一、facebook登陸必須有appid,該appid本身在https://developers.facebook.com/apps/建立的應用編號,先去https://developers.facebook.com/apps/註冊本身的應用瀏覽器
二、建立好應用安裝官方填寫好設置(必須是https否則沒法正常鏈接),登陸按鈕可使用官方默認或者自定義app
---googleide
一、clientid(Oauth2.0客戶端ID)也是受權登陸的必須參數,官方說法是應用憑據對應的客戶端ID,須要去這裏https://console.developers.google.com/apis/credentials建立 應用憑據
二、建立好應用憑據以後去https://console.developers.google.com/apis/library把對應的API服務啓用,這裏是Web端(對應的是社交>G+和Google People API,都在本身建立的應用憑據內啓用)
2、根據官方文檔api拿到用戶信息去操做(登陸或者註冊)
3、下面是一個在線DEMO(全部須要的參數都是本身我的註冊用來測試,這裏是明文,實際中須要處理)
https://wjf444128852.github.io/demo01/login/
4、遇到的問題
通過測試只有谷歌登陸在chrome((32 位))上會出現這個錯誤,:{error: "popup_closed_by_user"},64位chrome也是能夠正常。其餘全部瀏覽器都是正常的。
官方也有對應的issues:https://github.com/google/google-api-javascript-client/issues/405
等待解決。。。
已經解決:緣由戳這裏