社交名流刷新令牌
Socialite refresh tokens
我正在构建一个 Laravel 应用程序,我需要用户能够连接社交渠道,例如 Twitter、Twitch、YouTube 等。我不需要他们能够登录这些媒体,但连接它们,所以我的应用程序可以获得访问令牌以从它们的社交渠道检索信息。
我开始使用 Socialite 连接 Twitch,但我注意到他们的令牌已过期并且我也收到了 refresh_token。
我听从了社交名流关于处理无效令牌的建议,而不是密切关注它何时过期。不过,我 运行 遇到的问题是……如何使用社交名流刷新令牌?我似乎找不到可以从 refresh_token.
获取新令牌的方法
任何人都可以告诉我这是否内置于 Socialite 中,或者我是否必须自己构建它甚至使用 Socialite 以外的其他东西?
刷新令牌未达到 Laravel Socialite。
这是你在授权服务器上做的事情。
如果是 Twitch,请参阅:https://dev.twitch.tv/docs/authentication#refreshing-access-tokens
每 Socialite Provider has its own endpoints. But they all should follow the OAuth2 RFC
在 Laravel 中,您可以像这样使用 Guzzle:
$http = new GuzzleHttp\Client;
$response = $http->post('https://id.twitch.tv/oauth2/token', [
'form_params' => [
'grant_type' => 'refresh_token',
'refresh_token' => '<your refresh token>',
'client_id' => '<your client ID>',
'client_secret' => '<your client secret>',
'scope' => '',
],
]);
return json_decode((string) $response->getBody(), true);
P.s。快速浏览后,您似乎可以使用 Provider::getAuthUrl(), but this is not in the Contract...
动态检索此 URL
我正在构建一个 Laravel 应用程序,我需要用户能够连接社交渠道,例如 Twitter、Twitch、YouTube 等。我不需要他们能够登录这些媒体,但连接它们,所以我的应用程序可以获得访问令牌以从它们的社交渠道检索信息。
我开始使用 Socialite 连接 Twitch,但我注意到他们的令牌已过期并且我也收到了 refresh_token。
我听从了社交名流关于处理无效令牌的建议,而不是密切关注它何时过期。不过,我 运行 遇到的问题是……如何使用社交名流刷新令牌?我似乎找不到可以从 refresh_token.
获取新令牌的方法任何人都可以告诉我这是否内置于 Socialite 中,或者我是否必须自己构建它甚至使用 Socialite 以外的其他东西?
刷新令牌未达到 Laravel Socialite。
这是你在授权服务器上做的事情。
如果是 Twitch,请参阅:https://dev.twitch.tv/docs/authentication#refreshing-access-tokens
每 Socialite Provider has its own endpoints. But they all should follow the OAuth2 RFC
在 Laravel 中,您可以像这样使用 Guzzle:
$http = new GuzzleHttp\Client;
$response = $http->post('https://id.twitch.tv/oauth2/token', [
'form_params' => [
'grant_type' => 'refresh_token',
'refresh_token' => '<your refresh token>',
'client_id' => '<your client ID>',
'client_secret' => '<your client secret>',
'scope' => '',
],
]);
return json_decode((string) $response->getBody(), true);
P.s。快速浏览后,您似乎可以使用 Provider::getAuthUrl(), but this is not in the Contract...
动态检索此 URL