[英]Login with Google, using a Ruby on Rails API and React
我目前正在嘗試使用 google 實現登錄作為一個選項,以便用戶更輕松地登錄和創建用戶。
我有一個使用 devise 登錄的 Rails API,以及一個使用 React 向 Rails 5 API 發出請求的前端。
我不確定我是否必須在后端或前端進行所有這些登錄,我最大的問題是在使用 google 登錄時創建用戶,因為沒有密碼我無法創建用戶。
我從來沒有創建過這種登錄系統,所以我不確定它是如何工作的,我相信我必須在后端實現所有功能,使用 google oauth gem,但我想知道是否有人有如何做的提示。
我應該只使用反應組件嗎? 只有 Rails 寶石? 或者兩者都是正確答案?
謝謝。
我可以給你方向。
首先,您必須弄清楚您將在 OAuth 提供程序中使用哪個授權流程。
有四種方式,我只列出最常用的兩種方式。
代碼授予流程(在網站、omniauth-google 或使用這種方式的類似 gem 中使用)
隱式授權流程(本機應用程序,這意味着您必須在前端執行 OAuth 流程)
如果你要實現 API 服務器,你應該考慮第二種方式。
因為 API server 應該是無狀態的,所以第一種方式需要 session 來保存 OAuth 流的狀態。
此外, devise
不是實現 API 服務器的好主意,您應該考慮jwt
或基於令牌的身份驗證。
雖然,你可以使軌API內使用會話存儲devise
或omniauth-series
。
如果您想在前端完成所有 OAuth,請使用第二種方式。
或者您可以簡單地將按鈕鏈接添加到您的反應組件中的 OAuth 回調 url,然后您的 Web 服務器將處理您的 OAuth 流程(這是第一種方式)。
在考慮了你的情況后,我建議你使用第一種方式。
因為你可以在互聯網上找到很多關於devise
和omniauth-series
資源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.