首页 > 解决方案 > 为什么我没有收到 G Suite 帐户的 Google 安全事件?

问题描述

我已经成功地为我的应用程序实现了 Google 登录,如此处所述使用我们的后端服务器进行了额外的验证层,如此处所述。但是,当我尝试注册跨账户保护申请时,我只能接收来自个人(以 结尾@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 管理员或我在此应用程序的开发者控制台中启用的设置?非常感谢这里的任何帮助,这是一个重要的障碍。

标签: google-signinsecevents

解决方案


简短的回答是,谷歌目前不发送 G Suite 帐户的安全事件。他们今天(2019 年 11 月 12 日)在他们的文档中添加了以下内容:

谷歌文档信息


推荐阅读