Ruby on rails 使用RubyonRails API登录Google,然后进行React
我目前正在尝试使用google实现一个登录选项,以方便用户登录和创建用户 我有一个Rails API,它使用Desive登录,还有一个前台使用React向Rails 5 API发出请求 我不确定我是要在后端还是前端登录,我最大的问题是在谷歌登录时创建一个用户,因为我无法创建一个没有密码的用户 我从来没有创建过这种登录系统,所以我不确定如何工作,我相信我必须在后端实现所有功能,使用GoogleOAuthGem,但我想知道是否有人有这样做的技巧 我应该只使用react组件吗?只有宝石吗?或者两者都是正确答案Ruby on rails 使用RubyonRails API登录Google,然后进行React,ruby-on-rails,reactjs,devise,google-api,Ruby On Rails,Reactjs,Devise,Google Api,我目前正在尝试使用google实现一个登录选项,以方便用户登录和创建用户 我有一个Rails API,它使用Desive登录,还有一个前台使用React向Rails 5 API发出请求 我不确定我是要在后端还是前端登录,我最大的问题是在谷歌登录时创建一个用户,因为我无法创建一个没有密码的用户 我从来没有创建过这种登录系统,所以我不确定如何工作,我相信我必须在后端实现所有功能,使用GoogleOAuthGem,但我想知道是否有人有这样做的技巧 我应该只使用react组件吗?只有宝石吗?或者两者都是
谢谢。我可以告诉你这个方向 首先,您必须弄清楚您将在OAuth提供者中使用哪个授权流 有四种方法,我只列出最常见的两种方法
如果你要实现API服务器,你应该考虑第二种方式。 因为API服务器应该是无状态的,所以第一种方法需要会话来保存OAuth流的状态
<>代码<>代码<>代码>实现API服务器不是一个好主意,你应该考虑<代码> JWT>代码>或基于令牌的身份验证。 尽管如此,您可以在rails API中启用会话存储来使用designe
或omniauth系列
如果您想在前端完成所有OAuth,请使用第二种方法
或者,您可以简单地将按钮链接添加到react组件中的OAuth回调url,然后web服务器将处理OAuth流(这是第一种方法)
考虑到你的情况,我建议你使用第一种方法
因为有很多关于design
和omniauth系列的资源,你可以在互联网上找到