作者:大佬9997_608 | 来源:互联网 | 2023-06-16 14:11
导读:本篇文章编程笔记来给大家介绍有关php如何设计token的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、Thinkphp5.1 使用jwt生成和解析token 一 2021-0
导读:本篇文章编程笔记来给大家介绍有关php如何设计token的相关内容,希望对大家有所帮助,一起来看看吧。
本文目录一览:
1、Thinkphp5.1 使用jwt生成和解析token 一 2021-04-01
2、程序员应该如何设计更优雅的Token认证方式?
3、token生成与过期机制(设置伪过期机制)
4、Php用户登陆后的token一般怎么生成的?app端
Thinkphp5.1 使用jwt生成和解析token 一 2021-04-01
一 通过Composer安装firebase/php-jwt 5.2.1版本
二 common.php公共函数文件
程序员应该如何设计更优雅的Token认证方式?
把认证信息保存在客户端,关键点就是安全的验证,如果能解决认证信息的安全性问题,完全可以把认证信息保存在客户端,服务端完全无认证状态,这样的话服务端扩展起来要方便很多。关于信息的安全解决方案,现在普遍的做法就是签名机制,像微信公众接口的验证方式就基于签名机制。签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。当用户成功登系统并成功验证有效之后,服务器会利用某种机制产生一个token字符串,这个token中可以包含很多信息,例如来源IP,过期时间,用户信息等, 把这个字符串下发给客户端,客户端在之后的每次请求
中都携带着这个token,携带方式其实很自由,无论是COOKIE方式还是其他方式都可以,但是必须和服务端协商一致才可以。当然这里我不推荐COOKIE。当服务端收到请求,取出token进行验证(可以验证来源ip,过期时间等信息),如果合法则允许进行操作。基于token的验证方式也是现代互联网普通使用的认证方式,那它有什么优点
1.支持跨域访问,COOKIE是不允许垮访问的,这一点对Token机制是不存在的,前提是传输的用户认证信息通过HTTP头传输.
2.无状态:Token机制在服务端不需要存储session信息,因为Token自身包含了所有登录用户的信息,只需要在客户端的COOKIE或本地介质存储状态信息.
3.解耦 不需要绑定到一个特定的身份验证方案。Token可以在任何地方生成,只要在你的API被调用的时候,你可以进行Token生成调用即可.
4.适用性更广:只要是支持http协议的客户端,就可以使用token认证。
5.服务端只需要验证token的安全,不必再去获取登录用户信息,因为用户的登录信息已经在token信息中。
6.基于标准化:你的API可以采用标准化的 JSON Web Token (JWT). 这个标准已经存在多个后端库(.NET, Ruby, Java,Python,PHP)和多家公司的支持(如:Firebase,Google, Microsoft).
token生成与过期机制(设置伪过期机制)
这节了解下token的过期机制
那么token过期之后如何通知前端(是在过期后通知还是过期之前几秒通知)呢 以及前端如何响应
下面看下思路(以php为例)
超过3600秒 提醒续期token(但是也能请求成功)即所说的伪过期
hotnews.php
Php用户登陆后的token一般怎么生成的?app端
这个需要php后端生成,当登录成功的时候,后端通过用一些信息通过算法组合成token,返回给app端,app端接收保存。这个token尽量做成可以还原解析
结语:以上就是编程笔记为大家整理的关于php如何设计token的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~