LotusChuan
V2EX  ›  V2EX

V 站的谷歌登录似乎直接用的谷歌账户的邮箱

  •  
  •   LotusChuan · 2 days ago · 462 views

    前段时间我切换了我的主用邮箱,因此谷歌账户上的邮箱也做了调整。其他使用谷歌登录的网站都正常,但是 V 站这里我登录时显示新注册了一个用户。研究了一会发现似乎 V 站谷歌登录的原理是获取到谷歌账户后,用其邮箱唯一识别账户,而不是什么谷歌的 ID ,因此我切换邮箱后就被判定为新用户了。

    这样做的好处应该是可以写登录/注册逻辑简单点?还好我之前的邮箱没注销,所以按这个逻辑我尝试直接用邮箱登录,发现可以用找回密码重设一个密码,也是登录进来了。不过现在的问题是由于我之前用新邮箱登录过,似乎已经注册了一个用户,所以现在我无法通过切换当前用户的邮箱来替换了。或许只能通过主动注销新邮箱->换绑当前用户的邮箱的方式解决。

    3 replies    2026-06-26 18:33:04 +08:00
    LoreLiu
        1
    LoreLiu  
       1 day ago
    看上去应该就是 V2EX 仅绑定了从 Google OAuth API 获取的用户邮箱,而没有做其他绑定。

    不过 V2EX 现在通过 Google 三方登陆注册不需要填写邀请了吗。
    LotusChuan
        2
    LotusChuan  
    OP
       22h 29m ago
    @LoreLiu 需要,所以我只能用回现在这个账号了
    LoreLiu
        3
    LoreLiu  
       15h 37m ago
    @LotusChuan

    找到出处了,确实是这样,仅根据 Google OAuth API 返回的邮箱地址查询数据库中的 mail ,进而得到 UID 。
    Google 返回的邮箱地址在数据库中检索不到,自然走新用户创建的逻辑。

    > love4taylor: 现有用户能支持下绑定 Google 账号么.
    > Livid: 如果你把现有账号的验证邮箱改成 Gmail ,那么接下来除了用账号密码登录之外,也可以使用 Google 登录。

    Ref:
    #175 https://v2ex.com/t/580480?p=2#r_7585717
    #178 https://v2ex.com/t/580480?p=2#r_7585778
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2960 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 677ms · UTC 02:10 · PVG 10:10 · LAX 19:10 · JFK 22:10
    ♥ Do have faith in what you're doing.