第三方登录

自己的登录:用户名、密码和验证码、密码用md5加密;
第三方登录,我的理解就是基于用户在第三方平台上已有的账号和密码来快速完成己方应用的登录或者注册的功能。遵循一个Oauth2.0国际通用协议,允许用户在不提供用户名和密码的情况下,让第三方应用访问一些资源。使用第三方登录时,我们不需要用户再次输入用户名和密码,而是直接通过一个唯一openid来进行授权登录。对于普通用户来说,如果能用QQ、微信、百度、新浪这些平台的账号一键注册登录各个平台,无疑会方便很多。对于我们的应用来说,通过授权,借助QQ、微信这些用户量比较大的第三方平台增强自己的知名度也非常划算。

我们的平台集成了QQ、微信、百度、新浪四种第三方登录方式,实现的方式都是类似的。首先去各大开放平台进行注册成为开发者,并创建应用,填写回调地址,获取appid(应用唯一的识别标志)、appkey(给应用分配的密钥),(名称可能不一样);下载api文档和sdk开发工具包;就可以开始开发了。

首先在我们网站的登录页面根据api集成第三方登录的logo图标,并给与点击事件,当用户点击此图标时,发送请求,直接跳转到第三方平台的登录页面,第三方平台也会自动检测电脑是否有已登录的账号。登录成功以后,第三方平台会自动调用我们传递的回调地址,并传递回一个code参数;我们拿到code以后,再次调用第三方api提供的接口,传入code、app_id、appkey等参数,调用获取access_token的接口(接口调用,有第三方提供的sdk包,直接导入jar包,根据api文档,传递参数调用方法就可以,我们没必要太过关心第三方平台是用webservic接口或httpclient接口。)。获取到access_token同时,会获取到openid,拿到openid以后,就相当于拿到了登录授权。用openid去自己的用户表中查找是否与对应的用户,如果有,就直接查出用户信息,创建自己的session就可以了。如果没有,则新创建一个用户,把openid放进去。如果还需要其他信息,可以通过openid再次调用第三方平台的接口获取用户信息,如果用户信息还是不够,可以创建完用户以后再次跳转一个页面,让用户不全信息。信息补全以后,创建session,完成登录。这样一个第三方登录就完成了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值