1. 程式人生 > 實用技巧 >帶有Firebase的離子2:在OAuth 2中籤名

帶有Firebase的離子2:在OAuth 2中籤名

介紹 這是一個指南,展示如何在Android上使用Firebase認證谷歌使用者。 背景 雖然很多人都寫過這個指南,但是他們沒有解釋一個關鍵的部分——為什麼在執行了每一步之後仍然會看到認證錯誤12501。這裡有一個可以幫助你的好步驟指南:https://ionicthemes.com/tutorials/about/ionic2-google-login。我將解釋缺失的部分,即在登入時丟擲的錯誤12501,用於Android。 我必須說明我為什麼使用我正在使用的方法。我沒有使用firebase外掛登入,這應該是情況。用於Cordova的Firebase外掛對網路認證很有效,但不適合Android。在我寫這篇文章的時候,Firebase團隊已經承認了這個問題,他們說他們正在解決這個問題。到那時,我將繼續使用Cordova外掛,它是在Android環境下工作的,而不是在web瀏覽器中。 假設 我將使用離子2 CLI。我想你們已經知道了 NodeJS安裝。增加了對科爾多瓦的支援。Java JDK安裝並新增到path android SDK安裝並新增到path 基本步驟 在Android環境中使用Firebase認證谷歌使用者的Ionic 2應用程式,必須面對一個配置Firebase專案的步驟。如果您最近嘗試建立一個Ionic 2專案並連線到Firebase,您就會知道。對於新手來說,以下是成功建立執行專案的步驟。 建立離子2專案-這是絕對的開始。建立新專案 隱藏,啟動MyProject blank——v2 我使用了一個空白的專案模板。 在這個階段,您可能想要檢查輸出如何使用 隱藏,Codecd副本。 離子服務 新增Android平臺-使用CLI, 隱藏,複製程式碼離子平臺新增android 這一點很重要,因為本教程僅針對Android平臺。增加了Cordova外掛——讓我們回到這個專案上來。我們需要一個Cordova外掛來顯示使用者在你的Android裝置上配置的裝置帳戶。這個外掛是cordova-plugin-googleplus。要通過CLI將其新增到您的專案中,輸入以下命令 隱藏,複製Codecordova外掛新增cordova-plugin-googleplus 建立Firebase專案——現在我們轉到https://console.firebase.google.com。使用您所選的帳戶建立一個Firebase專案(如果還沒有建立的話)。建立專案後,單擊選項“Authentication”。您將需要設定一個登入方法。進入登入方法選項卡,點選“谷歌”。 。 您必須啟用該選項,並複製“Web客戶端ID”程式碼,這可以通過展開“Web SDK配置”看到。 。 它用於訪問專案。登入—我添加了一個Ionic 2提供程式,它為我的專案提供了api。我稱之為登入服務。 隱藏,複製程式碼離子g提供的登入服務 我添加了一個方法,叫做nativeLogin: 隱藏,複製CodenativeLogin (): Promise< any>{ 讓self = this; 返回GooglePlus.login ({ “範圍”:“配置電子郵件”, 'webClientId': CLIENT_ID,這是您之前複製的web客戶端ID。 “離線”:真的 }) 不要猶豫(使用者資料=比;{ //做你自己的事情……“self.events。釋出(LOGGED_IN_EVENT_ID userData);” }); } 確保您添加了捕獲丟擲的異常或錯誤的程式碼。這是所有基本的程式碼。 讓Firebase知道您的應用程式 因此,讓我們回到專案的firebase控制檯。當您看到專案概述時,您選擇“將Firebase新增到您的Android應用程式”選項。這會開啟一個模態對話方塊來填充一些資訊。讓我們來看看。 開啟MyProject專案中的config.xml。複製小部件節點的id。它可能看起來像com.ionicframework.myprojectXXXXXX。將此id複製到firebase專案彈出對話方塊中的包名欄位中。 然後複製小部件下的name節點中的文字。這是你的應用程式名稱。 最後,最重要的是:SHA-1。如果你不知道,你的安卓應用在釋出之前需要用一個金鑰簽名。對於最終的釋出版本,請遵循官方的谷歌文件。但是現在,由於我們正在除錯,我們需要從除錯金鑰儲存庫中獲得SHA-1金鑰。在Windows作業系統中,進入使用者配置檔案資料夾, 隱藏,複製Code

cd /d "%USERPROFILE%\.android"

執行命令 隱藏,複製Code

keytool -list -keystore debug.keystore

除錯。金鑰儲存庫是偵錯程式使用的金鑰儲存庫檔案的名稱。它可能會提示您輸入密碼,按回車鍵。如果那是無效的密碼,嘗試密碼“android”。(如果它仍然不能工作,你必須搜尋谷歌的密碼問題。)如果密碼被接受,那麼工具keytool將轉儲關於金鑰儲存庫的資訊。您必須在“證書指紋”中找到SHA1。複製SHA1值,並將其放在firebase彈出對話方塊中的“除錯簽名證書SHA-1(可選)”欄位中。 主要的p因為您正在建立一個Android應用程式(即使它是作為web應用程式建立的),所以必須將SHA1值提供給firebase專案,並且所有與該專案互動的Android應用程式都必須提供它們的SHA-1金鑰。如果您的應用程式使用了另一個SHA-1金鑰(可能在釋出版本中使用),那麼必須將該金鑰新增到簽名證書列表中。如果您跳過這一部分,那麼您的登入過程可能丟擲異常,錯誤程式碼為12501。 歷史 2017- 2月22日-初始版本 本文轉載於:http://www.diyabc.com/frontweb/news28914.html