我正在实施Google OAuth 2.0,并注意到Google OAuth返回的唯一用户ID 长度为21位.我认为BIGINT(20)足以满足这种需求,但我现在很困惑看到Google OAuth返回的用户ID的长度.关于我应该怎么做的任何想法?
我的问题类似于我可以在数据库中保存哪些数据来验证使用 Google 登录 API 的用户?
我已经正确构建了 Google Sign In,并且从 API 收到了如下响应:
{
"iss":"https://accounts.google.com",
"at_hash":"xxx",
"aud":"xxx.apps.googleusercontent.com",
"sub":"xxx",
"email_verified":true,
"azp":"xxx.apps.googleusercontent.com",
"email":"xxx@gmail.com",
"iat":xxx,
"exp":xxx
}
Run Code Online (Sandbox Code Playgroud)
上面的 SO 链接表示保存子字段,因为这是唯一标识符。我可以保存电子邮件/子邮件,没有问题。我的问题是:如果该用户选择这样做,与 OAuth 相比,我如何允许他们下次使用电子邮件/密码表单登录?我想我可以强制他们通过 OAuth 登录,然后验证他们是否已登录并让他们创建密码,但我不知道这是否是最好的方法。