新手问题 前后端分离, Vue + Rails Google 登入,不用 devise ,后端如何验证?

serena · 2020年12月14日 · 最后由 serena 回复于 2020年12月18日 · 739 次阅读

前后端分离,vue + rails 第三方登入,不用 devise

前端和 google 拿到 id_token 或是 access_token 后,后端应该如何验证?请前辈赐教,谢谢

下面是在公司内部的项目,实际使用的一种方式,可以给你参看下。

你是用 OAuth2 的方式获取的 access_token 么,后端通过 access_token 发送获取 user 用户信息的 api。 获取到用户的信息后如下处理:

  1. 获取到用户的信息后,在后端的 seesion 里面设置一个 user_id,这样来识别浏览器的登录用户
  2. 请求获得 access_token 一般后过期时间,我直接将 access_token 写到 cookie 里面,过期时间设置的和 api 返回的过期时间一致 3.每次 http 访问的时候,会先判断同时请求的 cookie 中 access_token 和 user_id 是否存在。如果判断失败,就需要重新登录。判断通过,就在后端通过请求携带的 user_id 知道用户
crosspass 回复

謝謝 @crosspass :))))

rails 的验证已经有很多现成的 gem 可以帮助你,可以在 https://www.ruby-toolbox.com/categories/jwt 里面找一找

需要 登录 后方可回复, 如果你还没有账号请 注册新账号