-
万千封印
在浏览器中,你可以使用 XMLHttpRequset 在头部传递传递token值
var xhr = new XMLHttpRequest();
xhr.open('get','/index');
xhr.setRequestHeader('token', 'xxxxx'); // xxxx 就是你的token值
xhr.send();
// xhr.getResponseHeader('token') // 可以获取从服务器带来的 token值
而在服务器端,以express举例
const app = new express();
app.get('/index', (req, res) => {
req.header('token') // 获取从浏览器端传送过来的token 值
res.status(200);
res.header('token', 'xxxxx'); // xxxxx 就是你的token值
res.send('hello world');
});
-
明月笑刀无情
自定义一个header,譬如叫x-token,然后值就是你的token
-
湖上湖
也可以放在cookie中,客户端服务端也都能拿到
-
当年话下
我做sso就直接用header传的token checksum等数据。
传输(curl时):
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'xxxx你定义的header数据名 '. 'xxxx您要传的token/checksum等等'));
获取:
$headers = array ();
foreach ( $_SERVER as $name => $value ) {
if (substr ( $name, 0, 5 ) == 'HTTP_') {
$headers [str_replace ( ' ', '-', ucwords ( strtolower ( str_replace ( '_', ' ',substr ( $name, 5 ) ) ) ) )] = $value;
}
}
//$headers就是个数组了。
-
隔江千里
header包含的数据格式是key-value
在页面可以使用ajax设置值:xhr.setRequestHeader('k', 'v');