我正在尝试从this guide设置Google OAuth2.0,并且已完成所有设置并正在运行。我可以获得授权code
,access_token
和refresh_token
来显示在我的console.log
中。我的问题是我可以使用这些令牌中的哪一个来正确识别用户并登录到我的后端?
在正常情况下,用户将输入用户名和密码,并唯一标识它们。但是,在Google OAuth2.0的情况下,它似乎授权code
,access_token
和refresh_token
都不能用来正确识别和登录某人。这种理解正确吗?
我读了一个similar post,但似乎并没有提供可以安全地标识已登录用户的最新答案。
如果我不能使用上述任何令牌来安全地标识和登录用户,甚至有可能吗?我如何看到其他网站和应用程序使用“使用Google登录”和“使用Facebook登录”?
Another solution I read in a different StackOverflow post表示仅获取帐户ID并将其用作标识符。那不安全吗?有人无法猜出帐户ID吗?同样,这也假设这些帐户ID是私有的。
我的问题是,我可以使用这些令牌中的哪一个来正确识别用户并登录到我的后端?
来自开放ID连接的ID令牌。
您在混淆授权和身份验证。
Oauth2用户授予并授权您的应用程序访问其数据的权限,访问令牌使您可以在有限的时间(1小时)内访问其数据。如果用户离线,则可以使用刷新令牌来请求新的访问令牌。这些都不会告诉您用户在呼叫背后。
open id connect允许您authenticate登录的用户将返回一个id令牌
[通过HTTPS POST收到ID令牌后,您必须验证令牌的完整性。 Verify the integrity of the ID token