用户登录成功后,后台程序会生成一个带签名的token返回给浏览器,当用户想要进一步操作时必须向后端提供该token,后端验证token无误后才允许进一步操作。但有个问题我一直有疑惑,网上也搜不到,大都是一笔带过,那就是后台生成的token是通过什么方式返回给前台的,cookie还是header?header能支持跨域吗?前端又是怎么把token传给后端的,url还是header?具体怎么弄的能不能说详细点,比如我用php将token加到header里:header("Authorization", $token) 为什么无效,要怎么设置?php如何接收参数Authorization的值?谢谢!!!
5 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
我想到一种可能,我当初也遇到这种问题,但那是因为我那时候还是小白,从来没有做过api的开发,没接触过这种逻辑,但我不知道你是不是,如果是这种情况,我会换一种说法说给你听,或者需要 demo 也是可以的。下面的回答假设是你做过这种开发,但只是没有接触过token形式的开发。
以下假设你是用ajax
接口的形式
直接模拟一遍流程
-
前端登录
// 发送请求:user/login requestBody: {"tel":"123","pwd":"1234"} // 返回 responseBody: {"nickname":"123","token":"123123-123123-123123"}
-
前端获取信息
// 发送请求:user/money header: token:123123-123123-123123 requestBody: {} // 返回 responseBody: {money:123123}
结论:直接和其他数据一起发回来就行了,没有任何特殊性。
- 5 回答
- 0 关注
- 10585 浏览
添加回答
举报
0/150
提交
取消