2017-02-13 2 views
1

Этот вопрос касается кода авторизации и include_granted_scopes в Google OAuth2 для изменения пошагово.Запрос дополнительной проверки областей применения код разрешения

В моем веб-приложение, я прошу основной информации профиля в качестве сферы:

https://www.googleapis.com/auth/userinfo.email)

Когда Gmail пользователь подписывает с нами. После того, как пользователь выполнит некоторые действия, я запрашиваю дополнительные области, установив "include_granted_scopes=true" в URL-адрес авторизации.

На данный момент мой URL авторизации выглядит следующим образом:

https://accounts.google.com/o/oauth2/auth?client_id=3490600xyz00-xyz....apps.googleusercontent.com&[email protected]&redirect_uri=https://www.example.com/google-signup-callback&response_type=code&scope=https://mail.google.com https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/gmail.compose https://www.googleapis.com/auth/gmail.modify&access_type=offline&approval_prompt=force&state=da503933-8979-409b-988a-24a9542ad98a&redirect=label&include_granted_scopes=true 

Теперь в OAuth обратный вызов я получаю то же самое «Authorization code», который я получил, когда я сделал OAuth ранее, используя основной объем профиля. Если я пытаюсь получить токен авторизации по телефону «https://accounts.google.com/o/oauth2/token» с «grant_type» установлен в «authorization_code», он возвращает

«Кодекс уже считается».

Теперь, как получить новый «токен аутентификации» и «Обновить токен», который имеет новую область действия? Старый токен аутентификации не имеет новой области, даже если я обновляю его, используя старый токен обновления.

+0

попробуйте добавить приглашение = согласие – DaImTo

+1

Удивительно, что сработало. Я должен был заменить «confirm_prompt = force» на «приглашение = согласие». Если вы можете сделать это как ответ, я соглашусь с этим. – user3787910

ответ

1

Подтверждение = согласие используется для принудительного повторного аутентификации пользователя.

Смежные вопросы