Я успешно ввел Google Sign-In для своего приложения, как описано здесь , с дополнительным уровнем проверки с использованием нашего внутреннего сервера, как описано здесь . Однако, когда я пытаюсь зарегистрировать свое приложение для Cross-Account Protection , я могу получать только события, которые приходят из личных (оканчивающихся на @gmail.com
) учетных записей.
мой потокобъект конфигурации выглядит следующим образом:
{
"delivery": {
"delivery_method": "https://schemas.openid.net/secevent/risc/delivery-method/push",
"url": MY_RECEIVER_ENDPOINT
},
"events_requested": [
"https://schemas.openid.net/secevent/risc/event-type/account-credential-change-required",
"https://schemas.openid.net/secevent/risc/event-type/account-disabled",
"https://schemas.openid.net/secevent/risc/event-type/sessions-revoked",
"https://schemas.openid.net/secevent/risc/event-type/account-enabled",
"https://schemas.openid.net/secevent/risc/event-type/account-purged",
"https://schemas.openid.net/secevent/risc/event-type/verification",
"https://schemas.openid.net/secevent/oauth/event-type/tokens-revoked"
]
}
, и когда я регистрирую конечную точку в Google, я получаю код ответа 200 и могу успешно протестировать с verify
событиями, используя следующее:
def test_event_stream(auth_token, nonce):
headers = {'Authorization': 'Bearer {}'.format(auth_token)}
state = {'state': nonce}
response = requests.post('https://risc.googleapis.com/v1beta/stream:verify', json=state, headers=headers)
return response
, который также ответит 200, и я вижу следующую полезную нагрузку (после декодирования токена jwt) в журналах моего приложения:
{
"aud": [
"MY_CLIENT_ID.apps.googleusercontent.com"
],
"events": {
"https://schemas.openid.net/secevent/risc/event-type/verification": {
"state": "MESSAGE at Fri Nov 8 01:31:13 2019"
}
},
"iat": 1573176640,
"iss": "https://accounts.google.com",
"jti": "JTI_VALUE"
}
Я также могу получать 'https://accounts.google.com/risc/event/all-token-revoked'
события из своего собственноголичная учетная запись Google, когда я отменяю доступ из своего приложения на панели безопасности, но не получаю те же события от моей рабочей учетной записи (GSuite), когда я выполняю те же действия.
Есть ли параметр, который необходимовключен или нашим администратором GSuite или мной в консоли разработчика для этого приложения? Любая помощь здесь будет принята с благодарностью, это значительный блокатор.