小编Mik*_*son的帖子

如何在纯 PHP 中创建刷新令牌?

我一直在网上搜索有关如何自己生成刷新令牌的示例/说明。不使用 Oauth 等任何服务。只是用普通的 php 语言。我找到了很多关于如何使用它们的信息,但没有找到如何创建它们。

我创建一个像这样的 JWT:

$secret = "secret";

$header = json_encode(['typ' => 'JWT', 'alg' => 'HS256']);

function createJWT($user_id){
    $date = new DateTime();
    $timestamp = $date->getTimestamp();

    global $header;
    global $secret;
    $payload = ['user_id' => $user_id, 'iat'=> $timestamp, 'exp'=>$timestamp+10];
    $payload = json_encode( $payload );
    $base64UrlHeader = str_replace(['+','/','='], ['-','_',''], base64_encode($header));
    $base64UrlPayload = str_replace(['+','/','='], ['-','_',''], base64_encode($payload));
    $signature = hash_hmac('sha256', $base64UrlHeader . "." . $base64UrlPayload, $secret);
    $base64UrlSignature = str_replace(['+','/','='], ['-','_',''], base64_encode($signature));
    $JWT =$base64UrlHeader . '.' . $base64UrlPayload . '.' . $base64UrlSignature;

    return $JWT; …
Run Code Online (Sandbox Code Playgroud)

php refresh token jwt

2
推荐指数
1
解决办法
8800
查看次数

标签 统计

jwt ×1

php ×1

refresh ×1

token ×1