- У меня правильно настроено приложение PHP Symfony 4.2 с HWI / OAuthBundle.
- Я создал ключ и секрет OAuth 2.
- Я настроил его в разделе
hwi_oauth
из файлов Symfony.
Я использую его для входа пользователей через пользовательский UserProvider.В частности, я обеспокоен перезаписью метода public function loadUserByOAuthUserResponse( UserResponseInterface $response )
Когда область действия:
scope: "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile"
, он работает отлично.На самом деле, читая $response->getData()
, я вижу электронную почту, настоящее имя и тому подобное.
Вместо этого, если я запрашиваю, например:
scope: "https://www.googleapis.com/auth/user.birthday.read"
, я получаю это внутриgetData()
результат:
[
"error" => [
"code" => 401
"message" => "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project."
"status" => "UNAUTHENTICATED"
]
]
В частности, я ранее активировал "People API" в https://console.developers.google.com, и я установил на своем экране OAuth Consent для принятия всех областейAPI людей.В частности, в разделе Scopes for Google APIs
он отображается в списке (как показано на следующем рисунке):
![enter image description here](https://i.stack.imgur.com/hWcPp.png)
Вопрос
Чтонужно ли это делать, когда область действия https://www.googleapis.com/auth/user.birthday.read
, HWI / OAuthBundle получает в ответ действительные данные?