在 PHP 中实现 token 登录需要以下步骤:
在用户登录时,服务器端需要验证用户的身份信息(例如用户名和密码)。
如果用户身份验证通过,服务器端将生成一个 token。这个 token 会包含一些用户的信息(例如用户 ID),并使用密钥进行加密。
服务器端将这个 token 返回给客户端,客户端将 token 保存在本地(例如浏览器的 cookie 中)。
在客户端发起请求时,会将 token 一并发送给服务器端。服务器端使用密钥解密 token,并校验 token 的合法性。如果 token 合法,则表示用户已登录;如果 token 不合法,则表示用户未登录。
下面是一个简单的 PHP 代码示例,展示了如何生成和校验 token:
``` <?php
// 密钥 $secret = 'your-secret-key';
// 用户信息 $user = [ 'id' => 123, 'username' => 'john', ];
// 生成 token $header = [ 'alg' => 'HS256', 'typ' => 'JWT', ]; $payload = [ 'sub' => $user['id'], 'iat' => time(), 'exp' => time() + 3600, // 过期时间为 1 小时 ]; $header = base64_encode(json_encode($header)); $payload = base64_encode(json_encode($payload)); $signature = hash_hmac('sha256', "$header.$payload", $secret, true); $signature = base64_encode($signature); $token