Я пытаюсь выяснить Google календари, но я не могу понять, из какой строки мне нужно хранить в моем db, чтобы получить токены доступа, когда мне нужно нажать или получить данные.
Я отправляю запрос в Google, и они возвращаются:
?code=4/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx#
Затем я аутентифицирую:
$client->authenticate($_GET['code']);
Затем я получаю токен доступа:
$client->getAccessToken()
Все отлично работает для этой сессии. Но я не хочу, чтобы каждый раз спрашивал пользователя. Могу ли я сохранить строку $ _GET ['code'], а затем запросить токен доступа, чтобы пользователь не мог аутентифицироваться каждый раз?
Благодарю.
Да, это абсолютно возможно.
Вы хотите прочитать об автономном доступе от OAuth 2.0 для приложений Web Server Applicitons. Это будет препятствовать пользователю из вашего приложения запрашивать экран согласия для авторизации каждый раз.
Чтобы использовать «автономный доступ», вам необходимо применить следующий фрагмент кода к вашему приложению:
$client->setAccessType("offline");
Вы также можете прочитать дополнительную информацию об OAuth 2.0 по этой ссылке: https://developers.google.com/identity/protocols/OAuth2
Надеюсь, это поможет и удачи!