在Vue項目中使用google登錄


最近真是一刻不得閑...各種事情像暴風雨一樣砸過來

 

上菜~

在Vue項目中使用google登錄

說到google登錄,第一點毫無疑問...

那就是你需要有一張梯子和一個google賬號


 

在google開發者官方網站中,google官方將開發所需要用到的API都放在那里  https://developers.google.com 

或者你也可以直接進入Google API 控制中心 https://console.developers.google.com  

 

從控制中心進入到API庫中,打開之后你會發現一片新天地

 

那么多的API是不是眼睛看花了,最要命的是這么多API那個才是我們做登錄功能需要用到的呢

不要方~

當初我在做登錄功能時是通過官方提供的分類去查詢的,登錄功能那么應該就是......社交API

於是找到了社交中的API,又找到了社交中Google + API ,后來一看文檔,果然是我要找的那個... 然后啟用Google+ API

這里要說一點Google對開發者還是相當友好的,尤其是首次接觸陌生API的開發者,Google提供的文檔相當的友好,進入教程和文檔查看API的介紹,這個API大概要怎么用心里基本有個數了。

里面的教程在這里就不多做闡述,畢竟文檔里面已經說的很清楚了。

https://developers.google.com/identity/sign-in/web/sign-in?hl=zh-cn 這里Google對引入登錄功能進行了詳細的說明。

 

 

使用這個API之前還需要做一件事,那就是申請一個OAuth 2.0 客戶端 ID 

 

申請步驟:

1)在API中心 憑據欄 創建憑據

2)按照要求填寫你項目的類型、名稱以及來源url

3)創建完成之后,頁面也有一個彈窗將你申請的客戶端ID已經密鑰展示出來,沒錯這個就是一個生成的過程。(ps:最近被申請AdSense弄怕了)

 

 


 

 

 

等等...到這里還沒有結束呢,

主題是在Vue項目中使用,那么接下來就要說說我是怎么在Vue中使用的了

上個我之前寫的栗子(ps:在這里我沒有引入npm插件去進行處理,而在npm上我查了一下有相關的插件‘google-sign-in’  以及github上的 https://github.com/mejiamanuel57/vue-google-signin-button-directive

 1 <template>
 2   <div id="google-signin-button"></div>
 3 </template>
 4 
 5 <script>
 6 export default {
 7   mounted() {
 8     gapi.load("auth2", function() {}); // 加載auth2憑據  9     gapi.signin2.render("google-signin-button", { //gapi.signin2.render渲染登錄按鈕 10       onsuccess: this.onSignIn,
11       // scope: 'email',
12       width: 200,
13       height: 50,
14       longtitle: false,
15       theme: "dark"
16     });
17   },
18   methods: {
19     onSignIn(user) {
20       const profile = user.getBasicProfile(); // 用戶登錄信息 21       console.log("ID: " + profile.getId()); 
22       console.log("Full Name: " + profile.getName());
23       console.log("Given Name: " + profile.getGivenName());
24       console.log("Family Name: " + profile.getFamilyName());
25       console.log("Image URL: " + profile.getImageUrl());
26       console.log("Email: " + profile.getEmail());
27 
28       
29       var id_token = user.getAuthResponse().id_token;
30       console.log("ID Token: " + id_token);
31     }
32   }
33 };
34 </script>
35 <style lang="less">
36 #google-signin-button {
37   // opacity: 0;
38 }
39 .abcRioButtonContents {
40   vertical-align: text-top !important;
41 }
42 </style>

 對於樣式的自定義,因為時間上的受限,沒有仔細去研究,我在移動端的處理是自己寫一個樣式,將Google登錄按鈕做透明處理覆蓋在自己的元素上面。

總結:以前沒有接觸過Google API,完全是門外漢開發,很多東西都是從個人項目中積累而來,相信有了這個開頭,以后會在做類似功能的時候不用再浪費那么多的時間了。所以啊,技術這一行,經驗很重要、積累也很重要。文中有什么不對的地方歡迎各位指出來,我會及時改正,相互學習。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM