0

У меня есть сайт Django/python и настроен Python Social Auth, чтобы разрешить аутентификацию с учетной записью google, фактически определенной для моего домена. У нас есть домен, который размещается через учетные записи google.Google OAuth2 Whitelist, удалить не авторизовано из списка

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

В любом случае я могу ограничить список, который они видят для счетов, которые они могут фактически использовать? У меня есть коллега, который настроил это для другого веб-сайта, который работает на ColdFusion, и он поставил заголовки метаданных на что-то для белого списка и выполнил вход через javascript, что позволило ему указать домен с использованием области действия, и это ограничило учетные записи видимые только для указанных доменов.

Заранее спасибо.

UPDATE: Когда я перенаправляюсь на страницу auth google, я могу добавить & hd = domain.com в строку запроса, которая ограничивает отображение. Как я могу заставить эту переменную быть настроенной при перенаправлении на эту страницу входа?

ответ

0

Найдено.

SOCIAL_AUTH_GOOGLE_OAUTH2_AUTH_EXTRA_ARGUMENTS = { 
    'hd': 'domain.com', 
    'access_type': 'online', 
} 

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