2014-08-26 1 views
3

Наше приложение используется для работы до последнего Tue. Мы продолжали получать ошибку «policy_enforced» при обмене маркером oauth2 для google plus. Ответ от Google является:Ошибка «policy_enforced» при обмене маркером oauth2 для google plus

Google.Apis.Auth.OAuth2.Responses.TokenResponseException: 
Error:"policy_enforced", 
Description:"Access denied by a security policy established by the Google Apps administrator of your organization. Please contact your administrator for further assistance.", 
Uri:"" 

Мы используем Google-API-Dotnet-клиент и код прямо вперед достаточно.

var flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer 
{ 
    DataStore = new CustomGoogleDataStore(), 
    ClientSecrets = new global::Google.Apis.Auth.OAuth2.ClientSecrets { ClientId = client.ID, ClientSecret = client.Secret }, 
    Scopes = scopes.Split(' '), 
}); 
var token = flow.ExchangeCodeForTokenAsync(guid, code, redirectUri, CancellationToken.None).Result; 

В прицелы:

"https://www.googleapis.com/auth/plus.login", 
"https://www.googleapis.com/auth/plus.profile.emails.read", 
"https://www.googleapis.com/auth/plus.me", 
"https://www.googleapis.com/auth/userinfo.profile", 
"https://www.googleapis.com/auth/userinfo.email", 
"https://mail.google.com/" 

Эта проблема происходит случайным образом. Теперь я не могу найти способ воспроизвести его на 100%.

Пожалуйста, дайте мне знать, что это за проблема, и любое предложение оценено.

+0

Благодарим Вас за отзыв. Но когда-то это прекрасно работает. Если это вызвано проблемой объема, это было бы полностью опущено. – Alie

+0

Я пытался воспроизвести его. Какие API-интерфейсы вы включили в облачную консоль? – DaImTo

+0

Доступны следующие API: Admin SDK, BigQuery API, API календаря, API веб-магазина Chrome, API-интерфейс API-интерфейсов, API-интерфейс Google Apps Marketplace, SDK Google Apps Marketplace, облачный SQL-облако Google, облачное хранилище Google, облачное хранилище Google JSON API , API Google+, API доменов Google+, API Hangouts Google+, API задач, API покупателя Ad Exchange. – Alie

ответ

1

Недавно я столкнулся с такой же проблемой. После контакта с командой Google мы обнаружили, что эта проблема возникла из-за несоответствия между разрешенными областями и тем, что мы запрашиваем во время входа в систему. Мы использовали последние области авторизации profile и email при входе пользователя в систему. Но в консоли API Google GAM зашиты Устаревшого SCOPES
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/userinfo.email

после возвращения последних областей авторизации на устаревший вход в областях действия работает отлично.

+0

после нескольких дней работы на производстве доказал, что это правильный ответ. спасибо Барани! – Alie

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

  • Нет связанных вопросов^_^