程序员如何更好地获取用户信息?
作者 | 菜菜
责编 | 郭芮
YY妹:菜菜君,我又来啦。
菜菜君,我又来啦菜菜君,我又来啦 菜菜:又有什么事吗?
YY妹:我按照你说的已经把网站认证写完了,而且效果还不错。
菜菜:恭喜你,下次面试又多了一项技能。
恭喜你呀,下次面试又多了一项技能 YY妹:不过,现在又有一个问题,我做的系统有一个合作商想要利用我们的用户信息登录他们的系统。
菜菜:你还要做授权?
YY妹:是的,我的思路是让用户在第三方系统的输入账号密码,然后第三方的服务端请求我们服务器来验证正确性。
是呀,我的思路是让用户在第三方系统的输入账号密码,然后第三方的服务端请求我们服务器来验证正确性是呀,我的思路是让用户在第三方系统的输入账号密码,然后第三方的服务端请求我们服务器来验证正确性 菜菜:这样做真的好吗?
YY妹:这样做我们的系统改动很小,我觉得很好哇。
这样做我们的系统改动很小呀,我觉得很好 菜菜:这样做有很多弊端的,且听我给你讲个小故事......
http://www.A.com/login?loginname=caicai&pwd=buzhidao
用户在第三方点击登录,跳转到我方提供的登录页面,页面URL中带有登录成功跳转的页面地址,并在此页面输入账号密码。
我方根据用户账号密码判断用户正确性,登陆成功,获取用户信息。
然后跳转到第三方提供的登录成功跳转页面,并把用户信息携带过去。
第三方跳转页面接收到用户信息,处理剩余业务,流程结束。
http://www.A.com/login?type=userinfo&redirecturi=http://www.B.com/callback
http://www.A.com/login?type=token&redirecturi=http://www.B.com/callback
用户跳转到我方登录页面进行登录;
我方验证用户用户名密码无误,产生一个有效次数为1并且一定时间内有效的code,并携带着这个code跳转到第三方的回调页面;
第三方回调页面,收到code参数,传输给后端程序;
第三方后端程序收到code参数,携带着code调用我方接口;
我方验证code有效性,如果有效则返回令牌信息;
第三方收到令牌信息,携带令牌信息调用我方接口获取用户信息;
我方验证token有效性,如果有效则返回用户信息;
之后的每次调用都携带者token进行访问,code就算被人获取到已经不起作用。
http://www.A.com/login?type=code&redirecturi=http://www.B.com/callback
作者:菜菜,一个奔走在通往互联网更高之路的工程师,热衷于互联网技术。目前就职于某互联网教育公司,应用服务端主要负责人。拥有10年+互联网开发经验,热衷于高性能、高并发、分布式技术领域的研究,主要工作语言为C#和Golang。
声明:本文为作者投稿,版权归其个人所有。
【END】
热 文 推 荐
☞2019云栖大会:逍遥看巅峰,张勇提“百新”,平头哥“再亮剑”
☞小米推出售价 19999 元的 MIX Alpha;高通已向华为重启供货;.NET Core 3.0 发布 | 极客头条
- 微信公众平台开发实战Java版之如何网页授权获取用户基本信息
- 【window phone 7】如何获取用户和手机的信息
- 如何获取微信用户的名字等信息
- 手把手教你如何获取微信公众号用户的个人信息(包括OpenId)
- java如何获取AD域用户信息?
- 如何获取Dynamics当前登录的用户的GUID,进而获取用户的信息
- WP7 Dev 101 【4】 如何获取用户和手机的信息
- Windows Phone 7 如何获取用户和手机的信息
- 第七篇 :微信公众平台开发实战Java版之如何获取微信用户基本信息
- 运营推广时:如何运用信息流通的两个维度低成本获取更多的用户?
- 如何在主题与皮肤中获取Portal登录用户信息
- 【UWP开发】如何通过UWP获取系统用户Gamertag或者UserName等用户信息
- 微信小程序如何获取openid及用户信息
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
- 【微信小程序】用户首次进入小程序拒绝授权,如何再次调用授权页面,获取用户信息userInfo
- MyBatis: 获取一个用户的所有blog的基础上讲一下如何获取一篇文章机器作者的信息。
- 如何获取手机用户的位置信息
- 【UWP开发】如何通过UWP获取系统用户Gamertag或者UserName等用户信息
- 展会企业邮件群发如何获取用户信息
- 订阅号如何获取用户基本信息?