Facebook帳號一鍵登錄

2021-01-14 喚雨獅
Facebook帳號一鍵登錄

公司最近做的一個項目要求使用Facebook實現一鍵登錄的功能。所謂的Facebook登錄就是獲取用戶在Facebook的資料,通過這些資料(郵箱等)登錄或者註冊目標網站。這中間Facebook提供了相應的接口,通過這個接口獲取用戶授權就能拿到相應的用戶資料。雖然整個過程完成下來還算比較順利。這邊還是要做一下記錄。

申請應用及配置

在使用之前,需要先在Facebook開發者平臺註冊帳號,新建應用,然後獲取新建應用的編號APPID。相應的流程開發平臺寫的還是相對比較清楚的,這裡就不一一贅述。其中要注意的是:有效 OAuth 跳轉 URL要填寫正確。

還有一個是隱私政策網站的填寫。這個關乎應用能不能的公開發布。找到開發平臺的控制面板下面有個設置->基本。在隱私權政策網址裡可以填http://wp4fb.com/how-to-add-a-privacy-policy-to-your-apps/(這個不是唯一的,填寫的地址有效即可)。然後保存更改。

然後就可以點擊應用發布開關,彈窗提示點擊確定即可。最後效果是這樣的:

相關代碼1. 檢查登錄狀態

加載網頁時應採取的第一步是檢查用戶是否已使用 Facebook 登錄功能登錄您的應用。調用 FB.getLoginStatus 即可開始此流程。此函數會觸發 Facebook 調用,獲取登錄狀態,並調用包含結果的回調函數。

下面是將在頁面加載期間運行以檢查用戶登錄狀態的部分代碼:


1
2
3

FB.getLoginStatus(function(response) {
   statusChangeCallback(response);
});


提供給回調的response對象包括的欄位:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

{
   
   status: 'connected',    
   authResponse: {
       
       accessToken: '...',
       
       expiresIn:'...',
       
       reauthorize_required_in:'...'
       
       signedRequest:'...',
       
       userID:'...'
   }
}


知道用戶的登錄狀態後,應用就可以執行以下操作之一:

2. 使用JavaScript SDK提供的登錄按鈕

代碼


1
2
3
4
5
6
7
8

<div id="fb-root"></div>
<script>(function(d, s, id) {
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) return;
 js = d.createElement(s); js.id = id;
 js.src = 'https://connect.facebook.net/zh_CN/sdk.js#xfbml=1&version=v3.2&appId=申請的應用編號&autoLogAppEvents=1';
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>


按鈕


1

<div class="fb-login-button" data-size="large" data-button-type="continue_with" data-auto-logout-link="false" data-use-continue-as="false"></div>


3. 獲取用戶信息


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

<script>
function fb_login() {
FB.login(function(response) {
if (response.status === 'connected') {
               
FB.api('/me?fields=id,email,first_name,last_name,gender', function(response) {
       
        console.log(response);
});
} else {
alert('login fail');
}
}, {scope: 'public_profile,email'});
}
</script>


4. 完整實例代碼


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

<script>
window.fbAsyncInit = function() {
FB.init({
appId: '',  
cookie: true,
xfbml: true,
version: 'v3.2'
});
FB.AppEvents.logPageView();
};

(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>

<script>
function fb_login() {
FB.login(function(response) {
if (response.status === 'connected') {
FB.api('/me?fields=id,email,first_name,last_name,gender', function(response) {
   
});
} else {
alert('login fail');
}
}, {scope: 'public_profile,email'});
}
</script>
<div class="login-btn-box" >
       <button  onclick="fb_login();">Login with Facebook</button>
</div>
</div>


總結

Facebook JavaScript SDK在最新的3.2版本中跳轉 URI 和 JavaScript SDK 強制使用 HTTPS。Facebook是使用標準的 OAuth 客戶埠令流程。其授權過程跟其他OAuth沒什麼區別,按照官網的流程走一般都能成功。


相關焦點

  • FaceBook帳號登錄的問題
    帳號正常登錄會是什麼樣?有頭像的,會是左邊這種樣式,沒有頭像的就會提示你上傳頭像。這都屬於正常的。如果是電腦端,那就更明顯了,直接就進入了facebook的界面。這個很好判斷。而且最好的處理方式,其實就是呆在這個界面,什麼都不要動。放置一兩天時間。
  • 關於使用facebook登錄微信帳號的方法
    前段時間我手機在拍視頻的時候不幸落水沒想到後面還有更麻煩的問題在等著我解決,手機落水以後我按照以往的經驗水深的地方如果旁邊沒有人儘量不要輕言的下水,我回去之後家裡有個老人機不過系統也是安卓系統,安卓4.2.2系統在我上一篇文章裡面有介紹系統版本,解決了使用微信的問題以後我發現微信的安全認證問題也是一個麻煩的事情,由於手機落水手機卡也是在裡面,登錄微信就變得複雜了,因為更換了手機登錄微信需要通過安全驗證以後才可以登錄
  • 註冊Facebook帳號以及日常養號問題
    三、AI全球智能化獲客功能(一鍵檢索全球十億行業大數據,打造營銷矩陣,輕鬆獲得流量變現)四、SNS智能化社媒營銷功能(臉書)(1)一鍵控制100個社交帳號(2)主動加人, 加小組(根據行業,產品關鍵詞添加)(3)批量發布動態、點讚,評論,私信等功能
  • Facebook登錄最穩定的方法之: cookies 登錄
    FaceBook登錄的方法了。除了手機app登錄之外,電腦端的登錄有兩種:1種就是直接登錄帳號、密碼。
  • 為什麼Facebook帳號老是被封?
    4)FB註冊時候採用了一些國內郵箱5)在曾經封過FB帳號的電腦上多次註冊FB6)facebook註冊信息使用了虛假身份信息7)在國內註冊的時候網絡不穩定,IP很多人共用。8)被投訴 OR 被惡意投訴、個人廣告帳戶的相互影響;9)內容:誇大虛假;侵犯產權;大量垃圾低質量帖文10)長時間不登錄&無更新、短時間內大量操作(加好友 加群組 群發 拉人入群facebook為了避免封號注意以下:
  • Facebook帳號被封,如何解封?
    裡我們已經闡述了Facebook帳號7種可能被封的原因。今天這篇文章主要表達的就是如果帳戶已經被封了怎麼辦?如何防患於未然? 與上一步同時進行的是給FB團隊發送郵件解釋,郵件地址為:info@facebook.comwarning@facebook.comlogin@facebook.comdisabled
  • 部落衝突皇室戰爭帳號綁定facebook方法教程 怎麼綁定facebook
    部落衝突皇室戰爭帳號綁定facebook方法教程,很多玩家發現綁定哪裡是灰色的,那麼要怎麼綁定facebook
  • 暴雪與社交網掛鈎 臉書帳號直接登錄《魔獸世界》
    暴雪與社交網掛鈎 臉書帳號直接登錄《魔獸世界》 時間:2016-06-27 10:17:24 來源:網易 作者:liyunfei
  • 有了這個一鍵登錄功能,APP帳號安全再多一道保險
    眾裡尋她千百度,苦苦思索對應的帳號密碼;網絡卡到黃花落,焦急等待簡訊驗證碼;關聯綁定第三方帳號擔憂重重,非爾所願;……你不是一個人!通過整合三大運營商的號碼認證能力,極光認證為開發者提供了快速驗證用戶輸入的手機號碼和本機SIM卡號碼一致性的功能,讓用戶不用再擔憂通過帳號密碼、簡訊驗證碼登錄時可能出現的安全隱患,得到更好的用戶體驗。那麼極光認證如何保證安全性的呢?下面就極光認證提供的兩個主要使用場景展開說明。一鍵登錄場景:告別明文驗證
  • 蘋果帳號也要開發「一鍵登錄」,位置還要在谷歌和臉書上面?
    原創:趙璐與我們使用微信、QQ帳號登錄許多應用類似,許多美國網際網路用戶會選擇使用Google或者Facebook等第三方帳號來「一鍵登錄」部分應用,以省去創建幾十組不同帳號和密碼的麻煩。但你可能不知道,「一鍵登錄」並沒有看起來這樣簡單,在小小的一個「按鈕」背後,它們會將用戶數據發回給製造商,以供其了解用戶使用習慣。
  • 蘋果帳號也要開發「一鍵登錄」位置還要在谷歌和臉書上面?
    與我們使用微信、QQ帳號登錄許多應用類似,許多美國網際網路用戶會選擇使用Google或者Facebook等第三方帳號來「一鍵登錄」部分應用,以省去創建幾十組不同帳號和密碼的麻煩。但你可能不知道,「一鍵登錄」並沒有看起來這樣簡單,在小小的一個「按鈕」背後,它們會將用戶數據發回給製造商,以供其了解用戶使用習慣。據6月5日報導,根據本周發布的設計指南,蘋果公司將要求開發人員在iPhone和iPad的應用程式中植入「使用Apple登錄」按鈕,並置於谷歌和Facebook的登錄按鈕上方。
  • Facebook安全操作指南:如何避免被封和帳號申訴
    A:根據facebook官方說法,facebook在2017年5月份嚴控大陸地區的帳戶使用。 有以下幾種不當操作的帳號被封的可能性較大: 1. IP位址不停地變換,或者帳號頻繁地登錄退出。這樣會被facebook認定為有多個帳戶或者虛假帳戶。單個人只能允許擁有一個帳戶,多餘的帳戶會被封掉,而且拿回來的可能性接近零。 2.
  • 關於Facebook帳號被封原因和解決辦法
    同個 IP、設備多次重複註冊同一個 IP 地址、電腦多次重複註冊 FB 帳號引起帳號驗證。(同一個ip地址的不同電腦上登入不同的facebook帳號,會關聯封號。)建議:確認facebook舊帳號找不回後再重新註冊,刪除瀏覽器緩存和 cookie,或者重新換臺電腦註冊。手機電腦多設備同時登錄電腦上登錄著 FB,手機也打開登錄,往往兩者的 IP 地址並不相同。
  • Facebook一人控制多帳號群控系統
    今天筆者用幾句話來總結下G+:G+是全球第二大社交平臺,但對於外貿推廣來說比FACEBOOK重要百倍,你隨便搜個工業產品或民用產品你會發現:facebook上面大多的是雜亂的零售信息,而G+上面都是全球專業廠家發布的信息。對於國內外貿企業來說當然應選擇G+不會錯,facebook的全球第一社交平臺完全是靠炫富炫美打造起來的。
  • Facebook帳號為什麼被封?Facebook應該怎樣註冊與養號才不會被封
    1.註冊facebook必須用真實的信息去註冊,因為facebook經常會抽風一樣,讓你去驗證,如果觸發了這些驗證,而你卻恰好忘掉了,或者無法進行驗證,那基本上也就意味著你和這個fb帳號說88了,我們在查詢封號原因的時候也有看到很多網友是因為觸發驗證而被封號的。
  • 如何創建你的facebook帳號和避免封號!
    4.以上信息填寫完畢後,點擊註冊就可以了(切記,需要穩定網絡的前提下註冊,否則容易剛註冊就出現帳號出現安全問題需要認證的情況)。5.註冊成功後,這個帳號就是你的facebook帳號了,後面就需要補充這個帳號的詳細信息和養號了。6.就這麼掛著帳號,不要操作!不要操作!不要操作!
  • 新浪微博推Facebook帳號登陸
    【搜狐IT消息】(宋宣)7月25日消息,據國外媒體報導,新浪微博近日對部分地區用戶開放了Facebook帳號註冊功能,據悉,此舉意在解決海外地區用戶註冊困難的問題。  消息顯示,近日,在新浪微博香港、臺灣網站的註冊環節中,用戶註冊流程增加了「facebook帳戶登錄註冊」的選項。但目前該選項尚未在中國內地市場、北美及其它地區出現。  同時,有體驗者發現,通過Facebook登錄新浪微博後,頁面會彈出一個Facebook留言版,用戶可選擇在留言版上發言,點擊「share」後該留言會出現在註冊者的Facebook「信息流」中。
  • Facebook帳號也是屢屢被封,在使用新平臺之前一定要先好好了解一下...
    A:根據facebook官方說法,facebook在2017年5月份嚴控大陸地區的帳戶使用。 有以下幾種不當操作的帳號被封的可能性較大: 1. IP位址不停地變換,或者帳號頻繁地登錄退出。這樣會被facebook認定為有多個帳戶或者虛假帳戶。單個人只能允許擁有一個帳戶,多餘的帳戶會被封掉,而且拿回來的可能性接近零。 2.
  • 解讀新一代驗證登錄方式——一鍵認證
    近年來,驗證領域迎來一個黑科技——用戶在APP上進行帳號註冊或者號碼綁定時,不需要接收簡訊驗證碼,直接可以以本機號碼實現秒級驗證。這種新穎且便捷的驗證方式稱為「一鍵認證」。一鍵認證大幅度地簡化了用戶註冊/登錄流程,且提升了帳號安全性,逐步成為新一代的主流驗證登錄方式。什麼是一鍵認證,它的原理是什麼,一鍵認證區別於其他登錄方式的優勢又是什麼?
  • ​如何避免Facebook個人帳號非死不可?
    具體詳見https://www.facebook.com/communitystandards/ 3、 出於騷擾、廣告、促銷或其他 Facebook 不允許的行為之目的,與他人聯繫。 比如添加陌生人的帳號並給他們發廣告消息。或者通過免費贈送活動要求別人留下郵箱。