Экран согласия Google Oauth2 Кнопка "Разрешить" отключена - PullRequest
1 голос
/ 16 июня 2020

У меня есть приложение Window Forms, которое использует Google Oauth2 для аутентификации пользователя. В консоли Google я создал проект, используя свою школьную электронную почту, что означает, что у него есть организация, и я установил свой проект как «внутренний», что означает, что мне не нужно проверять приложение (исправьте меня, если я ошибаюсь). Я не включил какой-либо библиотечный API, потому что единственные области, которые я использую, - это «профиль электронной почты openid».

В прошлом году приложение работало отлично. Пользователь может пройти аутентификацию, и приложение может получить токен доступа от Google, а затем обменяться кодом с другим моим сервером для доступа к другим API. Однако недавно я обнаружил, что кнопка «Разрешить» на экране согласия отключена, как и кнопка «Запретить».

Я осмотрелся, это не похоже на «Непроверенное приложение», потому что оно просто отключил кнопки, вы можете увидеть изображения ниже.

Кто-нибудь знает, что случилось с Google Oauth2 для настольного приложения? Я прочитал

this line в Google Oauth2 Docs, я не знаю, что именно это означает.

Allow button disabled

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

После дополнительных исследований Inte rnet причина в том, что Google обновил антифишинговый протокол «MITM - Man In The Middle», так что встроенный веб-браузер, такой как элемент управления веб-обозревателем в Winform, теперь не может выполнять функции Oauth. больше, потому что он не может защитить токен. Вы можете прочитать его по ссылкам ниже https://security.googleblog.com/2019/04/better-protection-against-man-in-middle.html https://developers.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html

Чтобы решить эту проблему, я использую веб-браузер устройства вместо Интернета. Я использую код из этого github https://github.com/googlesamples/oauth-apps-for-windows

Я закрываю этот вопрос.

0 голосов
/ 16 июня 2020

Ответ для: Примечание. Добавочная авторизация не поддерживается для установленных приложений или устройств. Я не знаю, что это в точности означает. инкрементальная авторизация . При использовании инкрементной авторизации ваше приложение сначала запрашивает только те области, которые необходимы для запуска вашего приложения, а затем запрашивает дополнительные области, поскольку требуются новые разрешения, в контексте, который определяет причину запроса пользователю. Он не поддерживается для установленных приложений, таких как ваше приложение для форм выигрыша. Просто запросите все свои области сразу и попробуйте снова. возможные решения актуальной проблемы

Идея № 1:

Попробуйте включить опцию «менее безопасные приложения» для дополнительную информацию см. здесь: Небезопасные приложения и ваш аккаунт Google

Идея № 2:

Внутренние приложения работают только с пользователями, находящимися в том же домене G Suite и приложение связано с облачной организацией, к которой принадлежат все ваши пользователи, вам не нужно go с помощью проверки.

Я бы дважды проверил, что вы вошли в учетную запись corect gsuite.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...