微信扫码登录实现思路

1 了解Oauth协议

  OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。

  允许用户 提供一个令牌而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们的访问许可或他们数据的所有内容。

2授权流程

  微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(access_token),通过access_token可以进行微信开放平台授权关系接口调用,从而可实现获取微信用户基本开放信息和帮助用户实现基础开放功能等。

  1 首先通过连接争取用户扫码同意之后获取code,这个code,有效期很短所以应该快速进行,

    注:这里表示的是跳转至注册码界面,让用户扫描登录,这里是微信的页面

  2 通过code参数加上AppID和AppSecret等,通过API换取access_token;

    注:access_token是有有效期的,所以这个需要进行刷新的,但是获取的openid是唯一的

  3 通过access_token 换用户信息

3 网页授权实现自动登录的实现思路

  当授权之后,我们是可以获取到用户openid,这个数据时唯一的,那么我们可以将这个数据存入数据,保证用户的唯一性,当用户下次登录的时候就可以根据这个openid来查询用户信息,当用户扫描授权登录之后,我们可以获取到用户的openid,那么可以进行根据这个用户的openid进行查询用户是否注册,如果没有注册跳转至绑定信息页面,让用户与网站独立的信息进行关联,如果注册过,那么可以根据这个openid获取到网站用户的信息来让用户登录

具体的链接在

https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=&lang=zh_CN

微信开发平台,根据以上步骤一步步实现就额可以了。

那么qq授权登录也是如此。

猜你喜欢

转载自www.cnblogs.com/xiufengchen/p/10514549.html