php后端怎么生成登录token,前端后端之间是通过什么方式传输token的?

后端返回 token,在 cookie,header,或者直接在返回的内容中都可以,看你喜欢哪个。

我个人比较喜欢直接在返回的内容中,请求的时候直接封装一下请求函数,每次请求的时候把 token 带上。

当然,用 cookie 或 header ,也是可以的。

哪种方法不重要,重要的是要写对了,比如楼主在 php 中设置 header 就是写错了,不太会用 php 的函数的时候,可以去官网的文档中找一下:http://php.net/manual/zh/func...

以 jQuery.js 中的 ajax为例,我写一下使用 header 时的写法:

前端:header.html

$.ajax({

url:"./header.php",

data:{name:"header.html"},

beforeSend: (request)=>{

request.setRequestHeader("mytoken", "from header.html");//前端设置 header

},

success:(d,status,request)=>{

console.log(d) //后端返回的内容

var re=request.getResponseHeader("Authorization"); //返回返回的 header 对应的字段

console.log("auth:",re)

},

error(e){

console.log(e)

}

})

后端: header.php

header("Content-Type: text/html;charset=utf-8");

header("Authorization:from header.php");//设置 header

echo "mytoken:",$_SERVER['HTTP_MYTOKEN']; //获取 header中的 mytoken 字段

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Token生成时机通常是在用户登录成功后。当用户提供正确的用户名和密码进行身份验证后,服务器会生成一个Token,并将其返回给客户端。 Token生成通常有以下几个步骤: 1. 服务器生成一个包含用户信息和其他必要信息的Payload。 2. Payload通过一定的算法(如HMAC、RSA等)与服务器密钥进行加密,生成一个签名。 3. 将Payload和签名进行Base64编码,得到最终的TokenToken的有效期可以根据需求进行设置,可以是短暂的几分钟,也可以是长期的几个小时、几天甚至更长。一般情况下,Token的有效期较短可以提高安全性,但会增加频繁重新登录的次数。 在验证Token的有效性时,通常可以根据以下步骤进行: 1. 服务器接收到前端传递过来的Token。 2. 服务器解析Token,验证签名是否有效,并获取Payload中的信息。 3. 检查Token是否过期,如果过期则认为Token无效。 4. 可以根据需要进一步检查Token中的其他信息,如用户权限等。 前端通常通过在请求的Header中添加一个字段(如Authorization)来传递Token后端。具体的传递方式可以是Bearer Token或其他方式,如: ``` Authorization: Bearer <token> ``` 当Token传递后端后,后端会进行解析和验证操作。后端可以使用密钥来验证Token的签名,并根据Token中的信息进行相应的操作,如获取用户身份、权限验证等。后续的流转根据具体需求而定,可以根据Token中的信息进行相应的业务逻辑处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值