gpt4 book ai didi

Laravel 护照刷新 token

转载 作者:行者123 更新时间:2023-12-01 01:43:32 26 4
gpt4 key购买 nike

我正在使用 Laravel 5.5 版,使用 Passport 进行身份验证。
我已成功创建 token 并可以使用 auth:api 访问它中间件。

但是每当用户登录系统时,它都会为该用户创建新的 token 。我只想刷新用户的最后一个 token 并将其发回而不是创建新 token 。

我使用以下代码生成身份验证 token

$token = $user->createToken('string-'.$user->id)->accessToken;

它生成了 1075 个字符的 token ,但是当我检查数据库表时 oauth_access_tokens它向我显示了 80 个字符的 token 。

如何使用 80 个字符的 token 获取最后生成的 token 并刷新并将其发回?

提前致谢

最佳答案

如果您的应用程序发布短期访问 token ,用户将需要通过访问 token 发布时提供给他们的刷新 token 来刷新他们的访问 token 。在本例中,我们将使用 Guzzle HTTP 库来刷新 token :

$http = new GuzzleHttp\Client;

$response = $http->post('http://your-app.com/oauth/token', [
'form_params' => [
'grant_type' => 'refresh_token',
'refresh_token' => 'the-refresh-token',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'scope' => '',
],
]);

return json_decode((string) $response->getBody(), true);

/oauth/token路由将返回一个包含 access_token 的 JSON 响应, refresh_token , 和 expires_in属性。 expires_in 属性包含访问 token 到期之前的秒数。

关于Laravel 护照刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53774731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com