Rails Devise,微信登陆,微信小程序登陆的逻辑应该如何理顺?

QueXuQ · 2018年05月05日 · 最后由 jasl 回复于 2018年05月07日 · 2670 次阅读

目前我们的应用是有小程序版本的,所以用户使用小程序的过程中,就实现了登陆的功能。
但是目前我们想开发一个网页版的,那么问题就来了,网页版目前我们考虑是用邮箱+密码登陆,所以未来用户在使用小程序的过程里,自然是不存在邮箱和密码两个事情,那么当他们需要使用网页版的工具时,应该通过什么登陆好呢?目前想到的方法有:

  1. 当对方在使用小程序时,实现登陆的过程中,我们让他输入邮箱,然后密码生成一个简单的密码,供给他在使用网页端的时候使用,或者登陆到网页后,在修改密码。
  2. 另外申请一个微信服务号,通过 open id,关联小程序和微信登陆。
  3. 自己建立一个后台,手动完善他们的信息,方便他们后期在网页版登陆。

微信扫码登录

或者小程序提供一个扫码登录功能。如果新做一套用户体系 如何和小程序关联考虑过吗?

  1. 注册成开发者,300 块一年: https://open.weixin.qq.com

  2. 登录,绑定小程序,通过 api 获得原来用户的 union id

  3. 创建 “网站应用”,使用微信扫码登录, 可以获得用户的 union id

  4. 网站:两张表,一张微信的(老项目主 key 应该是 open id 吧,可换成新的 union id,添加 user_id),一张 devise 的(主 key user_id,添加 union id)。使用微信扫码拿到 union id 注册,老用户直接登录,登录后可以设定登录邮箱和密码;也可以使用邮箱和密码注册登录,登录后可以扫码绑定微信号,如果是老用户,帐号通过 union id 关联。

  5. 老项目应该是通过 open id 关联所有用户信息的,因为网站上使用 user_id 会比较方便,可能要做些修改会比较好。

网页版可以用 weixin 扫码登录,然后绑定手机或者邮箱时输入密码,支持多种登录方式

小程序登录也是 oauth 2 协议,跟微博微信登录没两样

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