1.登陆后 信息放入 session中 2.页面内验证session中是否有登陆信息 3.若是有,不须要再次登陆 4.若是没有,跳转登陆页面 5.若是登陆后点击注销,删除session中登陆信息,并清除页面缓存(必要的)
1.过时-->很长时间没有去访问网站 2.主动关闭-->用处注销 3.切换浏览器
sessionKey/tokenKey
的字段;1.登陆登陆.须要保存sessionKey到sp-->保存sessionkey 2.判断sessionKey是否存在sp中,存在,服务器判断是否过时,过时,要求用户从新登陆; 3.判断sessionKey是否存在sp中,存在,服务器判断是否过时,不过时,继续走流程; 4.判断sessionKey是否存在sp中,不存在,要求用户登陆,登陆完成保存sessionkey;
1.用户填写手机号,点击发送验证码,发送请求把手机号传到server 2.server调用短信平台的接口知道`发送内容`,`发送对象`,完成短信的发送 3.用户收到短信,获得验证码,填写验证码,发送请求把`手机号`,`验证码`上传到server 4.server判断咱们的`验证码是否正确`,`验证是否过时`,根据不一样的判断,返回不一样的结果
*开放平台(Open Platform) 在软件业和网络中,开放平台是指
软件系统
经过公开其应用程序编程接口(API)或函数(function)
来使外部的程序
能够增长该软件系统的功能
或使用该软件系统的资源
,而不须要更改该软件系统的源代码。 * 开发平台的做用:提供功能,提供资源;php
http://wiki.connect.qq.com/sdk%E4%B8%8B%E8%BD%BD
- 用qq号/微信号/微博号去登陆本身的应用
- 核心:就是拿到咱们accessToken;
- 实际开发第三方登陆的协议:
http://xxx?token=>xxx&type=x
,token就是咱们受权以后返回的accessToken,type是为了区分不一样登陆渠道;
* 1.发起受权请求,让用户受权 ok * 2.用户输入帐号密码,用户受权成功 ok * 3.处理受权结果.拿到accessToken ok * 4.调用第三方登陆协议(本身公司定义的).完成第三方登陆 本身server定义的协议和腾讯没有关系
* 使用accessToken拿到用户在`第三方平台的惟一ID`; * 判断`第三方平台的惟一ID`是否存在咱们的用户信息表中; * 存在:(以前使用qq号登录过本身的系统)返回当前用户的用户信息 * 不存在:(用户尚未使用过此qq登录过咱们的系统) * 调用相关的接口,拿到nickname,邮箱,头像(须要什么拿取什么);
OAuth是一个开放标准,容许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。java
(A)用户打开客户端之后,客户端要求用户给予受权。 (B)用户赞成给予客户端受权。 (C)客户端使用上一步得到的受权,向认证服务器(好比qq登陆,那就是腾讯)申请令牌。 (D)认证服务器对客户端进行认证之后,确认无误,赞成发放令牌。 (E)客户端使用令牌,向资源服务器申请获取资源。 (F)资源服务器确认令牌无误,赞成向客户端开放资源。
(1) Third-party application:第三方应用程序,本文中又称"客户端"(client),即上一节例子中的"云冲印"。 (2)HTTP service:HTTP服务提供商,本文中简称"服务提供商",即上一节例子中的Google。 (3)Resource Owner:资源全部者,本文中又称"用户"(user)。 (4)User Agent:用户代理,本文中就是指浏览器。 (5)Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。 (6)Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,能够是同一台服务器,也能够是不一样的服务器。
第一步:让用户受权 https://login.sina.com.cn/sso/logout.php?r=https%3A%2F%2Fauth.sina.com.cn%2Foauth2%2Fauthorize%3Fclient_id%3D3237555059%26redirect_uri%3Dhttp%253A%252F%252Fwww.itheima.com%26response_type%3Dcode%26display%3Dmobile&rand=1432687399 第二步:获取code 请求url地址: https://auth.sina.com.cn/oauth2/authorize 请求方法是post: 请求参数: client_id=3237555059&client_secret=2b6c964b071e2ecc28c1835628cc6901&grant_type=authorization_code&code=a9ad7e219c0c8d209ed4b4be48d3af82&redirect_uri=http%3A%2F%2Fwww.itheima.com 结果:重定向到回调地址传入咱们的code 第三步:获取咱们的accessToken https://auth.sina.com.cn/oauth2/access_token { “client_id”, appkey, “client_secret”,appSecrect, “grant_type”, “authorization_code”, “code”, code, “redirect_uri”, “回调地址” }; 结果:拿到accessToken/token c00cc566623yk3e3x6rXZ3gOj5Jc5a62 05-27 00:54:33.252: I/System.out(1312): token: b682c066623yk3e2xJtU24kftMdc09a8 05-27 00:57:14.420: I/System.out(1388): token: c00cc566623yk3e3x6rXZ3gOj5Jc5a62 接下来能够经过accessToken去获取用户其余信息 https://api.weipan.cn/2/account/info?access_token=c00cc566623yk3e3x6rXZ3gOj5Jc5a62