pro
pro
  • 发布:2015-12-30 22:34
  • 更新:2018-12-25 12:23
  • 阅读:3280

微信授权登录怎么在服务端获取openid?

分类:HTML5+

微信授权登录怎么直接在app里直接获取到了openid?
不应该有回调的吗?

点击授权后=>微信给相应的服务端回调=>服务端记录在数据库后=>app接收到服务端返回的授权信息。
是这样的流程吗?

2015-12-30 22:34 负责人:无 分享
已邀请:
chender

chender - 与人为善

在app端获取微信的openId和token,然后传到服务端,服务端通过openId和token去微信的服务器做认证并获取基本信息

  • pro (作者)

    谢谢

    2015-12-31 10:31

  • pro (作者)

    再请教一下,获取到的信息没有微信返回的code

    怎么能取到code通过下面这种方式去做验证?

    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

    2015-12-31 17:40

  • pro (作者)

    openid和access_token提交到服务端可以获取到用户信息,但不能保证这就是自己的用户

    2015-12-31 17:41

  • zh9025@qq.com

    前端不可信,我相信你应该很清楚,如果前端提供openid那么如果我知道你的openid,岂不是可以通过接口模拟直接拿走你得信息,甚至提现

    2018-05-18 20:24

  • chender

    回复 zh9025@qq.com:你得知道openId和token,因为后端会拿这两个东西去微信服务器做验证的,如果你这两个东西都能拿到,那只能说你破解了微信的认证授权机制

    2018-05-31 13:21

chender

chender - 与人为善

首先你的app是支持微信授权登录的吧,而不是说绑定微信号和你的系统中账号,然后用微信进行登录;
既然支持微信授权登录,那么只要是合法的openId和access_token,都应该是你的用户的(如果用户表里没有对应的用户(通过openId字段进行判断),就新增);

  • pro (作者)

    也是,目的就是让微信合法用户正常登录就行了。即使不是自己appid下的用户也可以。

    不过前几天我还是加了一个验证,用的是刷新token的接口,新刷新,能在我的appid下刷新成功再获取他的微信资料进行创建用户或登录。

    2016-01-04 21:31

2571501169@qq.com

2571501169@qq.com

登录成功后,s.login(successCB,errorCB,options) 得到openid , successCB里面不能往后台发送openid,请教怎么解决,谢谢

该问题目前已经被锁定, 无法添加新回复