【发布时间】:2018-04-22 16:47:00
【问题描述】:
我一直在尝试使用 google 从客户端返回的 javascript google 客户端“代码”从 google api 获取刷新令牌。它返回我发送到服务器端的代码。现在,我从服务器端发送代码以使用 using google-api-php-client 通过此调用获取刷新令牌和访问令牌:
https://www.googleapis.com/oauth2/v4/token
虽然我使用来自谷歌游乐场的相同代码,但我也得到了带有刷新令牌的响应,但我没有从我自己的服务器上得到它.. 这是代码
public function getRefreshToken($code)
{
$client = new Google_Client();
$client->setClientId(config('services.google.client_id'));
$client->setClientSecret(config('services.google.client_secret'));
$client->setRedirectUri('postmessage');
$client->setScopes(config('services.google.scopes'));
$client->setAccessType("offline");
$client->setApprovalPrompt("force");
dd($client->authenticate($code));
dd($client->getRefreshToken());
return ;
}
我已将访问类型设置为离线,如某些答案中所述,但我仍然收到带有刷新令牌的响应。这是响应
access_token :"xxxxxxxxxxxxxxxxxxxxxx"
created:1510242052
expires_in:3598
id_token:"xxxxxxxx"
token_type:"Bearer"
【问题讨论】:
标签: javascript php google-api-php-client google-oauth google-authentication