Android第三方登录流程那些事

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_39251617/article/details/79092053

标签:【Android】第三方


一、第三方登录流程

最近项目中接入了第三方登录,今天梳理一下,画个流程图:

我使用友盟集成的第三方登录,关于友盟集成的步骤就不详细说了,因为SDK一直更新,而且文档很清晰也很简单。整个过程无非就是注册友盟,注册需要使用的第三方登录平台,如微信、微博开放平台,下载友盟SDK集成入项目,调用友盟封装好的API请求授权、获取用户信息,然后,客户端这边关于SDK调用相关的就完事了……

需要注意的一点:accessToken

我们最好获取accessToken和openid(微信),在流程图的“校验第三方账号是否已注册”这一步请求后台接口时加上这两个参数,用于后台查询授权是否过期,防止只使用第三方平台的用户id进行恶意访问

说说我们的这个快速登录,我是一点也没觉得快,站在用户的角度来说,让我没有登录的欲望,感觉很烦。但产品设计成如此,主要是想获取到用户的手机号信息,方便后面的业务推广,而且,第一次很麻烦的第三方注册后,后面的确是快速登录了,点击第三方登录,授权成功,登录成功

二、聊聊注册、登录流程

我找到了张思维导图,概括的很好:

登录注册

根据产品类型选择合适的注册登录方式,才是明智的选择,虽然说我们是程序猿,但还是要学点产品思维,尽量参与到整个项目的每个环节中去

注册登录想要了解更多,可以看下面两篇文章:
app登录浅析
如何设计好转化率翻10倍的产品注册/登录流程?

三、聊聊 Token 与 单点登录

1. Token

  • Token的引入
    Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生

  • Token的定义
    Token是可以翻译为“令牌”,是服务端生成的一串字符串(一般是时间戳+uid+随机码)。当客户端第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

  • 使用Token的目的
    Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮

2. 单点登录

单点登录(Single Sign On),简称为 SSO,就是一个账号同时只能在一台设备上登录,排除web端和移动端同时登录的情况。如果同一时间在另一台设备上登录的话,前一台设备会被强制下线。

实现单点登录的方式一般有三种:

  • 接口请求时返回错误码,告知客户端token失效
  • 推送,后台推送消息告知客户端已在其他地方登录
  • 第三方监听器,如环信自带连接状态的监听

我们APP对于实时性要求不高,使用的是第一种方式。得知token失效后,我们会给出提示,跳转到登录界面,要求重新登录,登录完成后回到之前界面

猜你喜欢

转载自blog.csdn.net/weixin_39251617/article/details/79092053