iOS 开发之token机制来验证用户的安全性
白羽 2018-06-22 来源 :网络 阅读 846 评论 0

摘要:本文将带你了解iOS 开发之token机制来验证用户的安全性,希望本文对大家学IOS有所帮助。

 


登录的业务逻辑{
        http:是短连接. 服务器如何判断当前用户是否登录?
        如果是即时通信类:长连接.如何保证服务器跟客户端保持长连接状态?

        "心跳包" 用来检测用户是否在线!用来做长连接!

        http:短连接使用token 机制来验证用户安全性

token 值: 登录令牌! 用来判断当前用户的登录状态!

token 值特点: 是一个字符串/大整数,只需要保证唯一性.是服务器根据用户的信息(账号/密码/身份认证机制(电话号/身份证号/支付宝账号/银行卡信息)...)来生成的用于标识用户身份的值!

token 值获取: 当用户首次登录成功之后, 服务器端就会生成一个 token 值. 

        1.会在服务器保存token值(保存在数据库中) 

        2.将这个token值返回给客户端.

客户端拿到 token 值之后,一般保存在两个位置 : 

        1. 将 token 保存在 cookie 中;

        2.将 token 保存在沙盒中,作为一个公共参数传递.

公共参数: 每一个网络请求都需要的参数! 一般公共参数有很多都是"可选"参数!,公共参数附带的越多,越利于后台监测用户,数据挖掘会使用到监测到的数据.
以后客户端再次发送网络请求(一般不是登录请求)的时候,就会将这个 token 值附带到参数中发送给服务器.
服务器接收到客户端的请求之后,会取出token值与保存在本地(数据库)中的token值做对比!
如果两个 token 值相同 :说明用户登录成功过!当前用户处于登录状态!
如果没有这个 token 值, 没有登录成功.
如果 token 值不同: 说明原来的登录信息已经失效,让用户重新登录.
token 值失效问题: 1. token 值有失效时间!
    {
        token的有效时间:
        {
            1. 如果 app 是新闻类/游戏类/聊天类等需要长时间用户粘性的. 一般可以设置1年的有效时间!
            2. 如果 app 是 支付类/银行类的. 一般token只得有效时间比较短: 15分钟左右!
        }
    }
token 值失效问题: 2. token 值用来做设备唯一性登录判断!
    {
        每次登录之后,无论用户密码是否改变,只要调用登录接口并且登录成功,都会在服务器生成新的token值,原来的token值就会失效!
        典型的 app : 打车软件类

    }

拓展: 多态设备同时登录. 设备唯一性登录!

       如果允许多台设备同时登录  ,并且可以设置最大的登录数量的时候。比如说QQ:允许在电脑客户端登录,QQ手机端登录, QQ网页端登录

      如果超出这三个端 想要再另外 一个相同的端登录,需要使对应的端的token失效,来保证一个端 一个账号只登录一次。

      可以设置多个token 根据登录端不同 ,来检测token 是否过期。 根据登录的数量 可以判断最大支持多少个设备同时登录

}

}



本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程