APP誕生全紀錄 - 容易忽略的必要功能3:OAuth登入

閱讀時間約 3 分鐘
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能
如果你還沒有閱讀過「APP誕生全紀錄」,建議可以先看一下,至少知道哪些可能是容易忽略的必要功能,我們提過了推播APP跳轉,今天我們來探討第三種必要功能:OAuth登入。

什麼是OAuth?

OAuth 是開放授權的標準協定,允許使用者讓第三方應用存取該使用者在某一網站上儲存的私密的資源(如相片,影片,聯絡人列表),而無需將使用者名稱和密碼提供給第三方應用。
經由大型第三方已經認證過的帳號,所以我們可以直接相信和確保這個帳號的獨有性和擁有權,避免讓使用者重複跑繁複的Email或電話...等等的註冊流程,簡化使用者的操作,可以大幅提升你的APP友善程度。

登入流程架構

登入流程架構圖
  1. 使用者端發出驗證需求給指定的第三方
  2. 第三方提供認證介面
  3. 使用者輸入第三方驗證資料
  4. 驗證成功將提供token給使用者端並跳轉回原APP (這時候已經可以使用token取得一些相關的使用者資料)
  5. 將token傳給Firebase Authentication做紀錄認證
其實如果沒有使用Firebase Authentication也是可以執行到第4步驟後,直接由使用者端設備做處理,但第5步驟透過Firebase做登入處理可以方便許多,一者可以用來驗證是否有權限使用Firebase的其他服務,e.g. FireStore、FireStorage...etc,再來之後如果沒有登出,都會由使用者端和Firebase Auth之間來做自動連線認證和紀錄,對於開發者來說方便了許多,而且Authentication的服務目前是免費的。

實作測試

我們利用flutter + google_sign_in + firebase_auth實作Google登入看看吧!
// Trigger the authentication flow
final GoogleSignInAccount? googleUser = await _auth.signIn();
if (googleUser == null) return false;

// Obtain the auth details from the request
final GoogleSignInAuthentication googleAuth =
await googleUser.authentication;

// Create a new credential
final credential = GoogleAuthProvider.credential(
  accessToken: googleAuth.accessToken,
  idToken: googleAuth.idToken,
);

//Firebase Auth
try{
 await FirebaseAuth.instance.signInWithCredential(credential);
} on FirebaseAuthException catch (e) {
  if (e.code == "account-exists-with-different-credential") {
   // Already have a different signin method
    return false;
  }
  return false;
}

總結

實作OAuth不會太過於困難,但卻是一個可以快速提升使用者體驗的驗證方式,不用猶豫了,快來為你的客戶們建立方便的使用者驗證吧!
為什麼會看到廣告
3會員
7Content count
留言0
查看全部
發表第一個留言支持創作者!
Amos的沙龍 的其他內容
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們來探討第二種必要功能:APP跳轉,透過一組文字連結能夠點選開啟APP並跳轉到正確功能頁面。
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們先來探討其中重要的一項:推播〔Push Notification。
「聖經種子」團隊當初在組成的時候,成員本就是散落在各地,因著我的邀請而聚集在一起。因為大家都在不同的城市,平日也有自己的工作,所以對於我們來說,該如何讓團隊中溝通討論順暢、設計協作合作順利、凝聚出向心力,就成了最大的課題。
今天當你完成了你心目中完美的作品,迫不及待的想要放到商店上讓大家下載使用,卻沒想到是噩夢的開始?!從上架前的審查,到上架後的各種問題浮現,讓你焦頭爛額了嗎?這裡和你分享一下4種在APP「上線期」會遇到的問題和解決方法,讓你上線沒煩惱。
很多人可能都想過要開發一款APP,雖然擁有許許多多創意的點子,但卻不知道該從何開始下手嗎?這篇文章將會分享一個實際從無到有、從創作開發到上線推廣的開發案例,讓你實際了解中間所有的過程、會踩到的問題點以及你可能從沒想過但開發中一定會遇到的困難處。
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們來探討第二種必要功能:APP跳轉,透過一組文字連結能夠點選開啟APP並跳轉到正確功能頁面。
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們先來探討其中重要的一項:推播〔Push Notification。
「聖經種子」團隊當初在組成的時候,成員本就是散落在各地,因著我的邀請而聚集在一起。因為大家都在不同的城市,平日也有自己的工作,所以對於我們來說,該如何讓團隊中溝通討論順暢、設計協作合作順利、凝聚出向心力,就成了最大的課題。
今天當你完成了你心目中完美的作品,迫不及待的想要放到商店上讓大家下載使用,卻沒想到是噩夢的開始?!從上架前的審查,到上架後的各種問題浮現,讓你焦頭爛額了嗎?這裡和你分享一下4種在APP「上線期」會遇到的問題和解決方法,讓你上線沒煩惱。
很多人可能都想過要開發一款APP,雖然擁有許許多多創意的點子,但卻不知道該從何開始下手嗎?這篇文章將會分享一個實際從無到有、從創作開發到上線推廣的開發案例,讓你實際了解中間所有的過程、會踩到的問題點以及你可能從沒想過但開發中一定會遇到的困難處。
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
她是一個很特別的人。 談及結婚議題,是她人生目前最大難題,她愛對方可不想結婚但被嚴重逼婚,對有的人來說婚姻是一張紙、一個身分,有與沒有都不這麼重要,愛才是重點;對有的人來說結婚才有未來藍圖,才能以連結的身分「在一起」。 很多問題沒有對錯,感情更是,對我來說只是看事情的角度不一樣,即使換位思考也不
在app遇見各種形形色色的人,有的人想聊天,有人則是想找跑友運動,在一個加密空間裡,充斥著不負責任、脫離現實感的愉悅,加入如此簡單,退出也一樣容易,無痕。 在打完招呼後,配對到的對象直接來一句「工作好煩喔」,簡短一句卻道出身體裡最深刻的吶喊,對方說上班輕鬆但很無聊,想離職但到職不到2個月,觀察他的
Thumbnail
想要遠程控制家中捲門,不知道怎樣選擇? TUYA捲門控制面板 易微聯捲門控制開關 格來得捲門開關 遠程控制、語音開關
Thumbnail
還記得約莫在一年前,我有介紹過 Shiftscreen 這款能為 Apple 行動設備帶來類桌面操作體驗的工具吧,雖然那時候覺得它十分有潛力,但可惜後來作者似乎棄坑了,直到近期,我又找到了另一款類似的新秀,或許能填補這個空缺?
Thumbnail
「重要但不緊急」的事情每天做一點,便會發現重要緊急幾乎沒有發生的機會。 而「每天做一點」的秘訣在於持續,能讓持續不斷發生的,除了明確目標外,便是我們是否感到舒適自在了。
Thumbnail
如果說 3D 模型圖是人們熟知最真實的一切,那麼像素點陣圖就是人們懷念終要逝去的真實。應用程式名稱:八位元畫家( 8bit Painter )、發行日期:2015-08-15、最新版本:1.17.0、提供者:OneTap Japan、下載位置:iOS、Android
Thumbnail
這篇繼續介紹最近密集使用的斷捨離APP,拿取了好東西後,怎麼順利拿到手。 1、面交。0成本的方法 2、超商-全家。 3、i郵箱
全家:APP中當有人拿取自己的物品,會出現在「我的交易」,「產生寄件號碼」。
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
她是一個很特別的人。 談及結婚議題,是她人生目前最大難題,她愛對方可不想結婚但被嚴重逼婚,對有的人來說婚姻是一張紙、一個身分,有與沒有都不這麼重要,愛才是重點;對有的人來說結婚才有未來藍圖,才能以連結的身分「在一起」。 很多問題沒有對錯,感情更是,對我來說只是看事情的角度不一樣,即使換位思考也不
在app遇見各種形形色色的人,有的人想聊天,有人則是想找跑友運動,在一個加密空間裡,充斥著不負責任、脫離現實感的愉悅,加入如此簡單,退出也一樣容易,無痕。 在打完招呼後,配對到的對象直接來一句「工作好煩喔」,簡短一句卻道出身體裡最深刻的吶喊,對方說上班輕鬆但很無聊,想離職但到職不到2個月,觀察他的
Thumbnail
想要遠程控制家中捲門,不知道怎樣選擇? TUYA捲門控制面板 易微聯捲門控制開關 格來得捲門開關 遠程控制、語音開關
Thumbnail
還記得約莫在一年前,我有介紹過 Shiftscreen 這款能為 Apple 行動設備帶來類桌面操作體驗的工具吧,雖然那時候覺得它十分有潛力,但可惜後來作者似乎棄坑了,直到近期,我又找到了另一款類似的新秀,或許能填補這個空缺?
Thumbnail
「重要但不緊急」的事情每天做一點,便會發現重要緊急幾乎沒有發生的機會。 而「每天做一點」的秘訣在於持續,能讓持續不斷發生的,除了明確目標外,便是我們是否感到舒適自在了。
Thumbnail
如果說 3D 模型圖是人們熟知最真實的一切,那麼像素點陣圖就是人們懷念終要逝去的真實。應用程式名稱:八位元畫家( 8bit Painter )、發行日期:2015-08-15、最新版本:1.17.0、提供者:OneTap Japan、下載位置:iOS、Android
Thumbnail
這篇繼續介紹最近密集使用的斷捨離APP,拿取了好東西後,怎麼順利拿到手。 1、面交。0成本的方法 2、超商-全家。 3、i郵箱
全家:APP中當有人拿取自己的物品,會出現在「我的交易」,「產生寄件號碼」。