0

Я использую middlware Microsoft.Owin.Security.Google (версия 3.0.1), чтобы предоставить Google OAuth моему приложению.Google OAuth2 просит «автономный доступ»

Он настроен так:

app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions 
{ 
    AuthenticationType = "Google", 
    Caption = "Google", 
    SignInAsAuthenticationType = signInAsType, // "idsrv.external" 
    ClientId = "xxx.apps.googleusercontent.com", 
    ClientSecret = "xxx" 
}); 

Довольно простые вещи. Я использую IdentityServer как MW для выдачи претензий.

Когда я первый аутентификации пользователя с помощью Google, Google просит следующего согласия со стороны пользователя: enter image description here

Что делает общий смысл, так как я с просьбой openid profile email областей в URL:

https://accounts.google.com/o/oauth2/auth?scope=openid профиль электронной почты & response_type = код & redirect_uri = https://localhost:44301/core/signin-google&state=xxx&client_id=111.apps.googleusercontent.com&hl=en-GB&from_login=1&as=-25fb4219b2997893&authuser=0

Я тогда принимаю, и все работает хорошо.

Теперь, после того, как я выйти из системы, а затем повторно проверить еще раз - теперь на Google продолжает спрашивать меня для «автономного доступа»:

enter image description here

Я не просил автономной сферы доступа, так запутано почему Google просит об этом?

подтвердил URL выглядит отлично:

https://accounts.google.com/o/oauth2/auth?scope=openid профиль электронной почты & response_type = код & redirect_uri = https://localhost:44301/core/signin-google&state=xxx&client_id=111.apps.googleusercontent.com&hl=en-GB&from_login=1&as=676f55265a78c036&authuser=0

Так точно такой же URL, как первый запрос.

Я попытался:

  1. Включил Google+ API в консоли API
  2. Пробовал добавлять &prompt=auto (вызывает ошибку "недопустимое значение параметра для запроса: Invalid подсказка: авто")
  3. Пробовал добавлять access_type=online (даже если это значение по умолчанию, если не указано).
  4. Пытались добавляя approval_prompt=auto

Ни один из этих методов работали.

Любые идеи?

ответ

0

Появилась проблема с localhost. После развертывания на сервере работала нормально:/

+0

У меня есть один и тот же опыт работы с Google и LOCALHOST –

0

Значение области offline_access запрашивает токен обновления OAuth 2.0.

Если вы не запрашиваете это, это похоже на что-то, встроенное в компонент OWIN Google или API Google.

Вы можете прочитать больше о автономном доступе рамке здесь: http://openid.net/specs/openid-connect-core-1_0.html#OfflineAccess

+0

Спасибо, но, как я сказал им не запрашивает доступ (проверить мой URL-адрес Params). Я не настроил ничего лишнего в google owin MW. Во всяком случае, я думаю, что это была проблема с localhost. – RPM1984

+0

У меня такой же опыт работы с Google и localhost –