什么是存储经过身份验证的登录名的好方法?

问题描述 投票:0回答:1

如果您的网站允许异地登录(通过Google,Steam等登录),那么存储回调结果(例如Steam ID)的最佳方法是什么,以便您“记住”它们已登录。还有,最安全的方法是什么,因此没有人可以“伪造”登录?

例如,我有一个用户通过Steam登录到我的网站。我得到了他们的Steam ID(一个很大的数字),然后将其存储为他们的cookie /会话中的“登录名”,直到过期为止。

是否有更好的方法和更安全的方法?

javascript html openid steam
1个回答
0
投票

通常,这些类型的身份验证使用OAuth2,一旦用户登录后您会获得几个令牌,一个是您用来与身份验证提供程序的API通信的access_token,另一个是您可以用来获取的刷新令牌。访问令牌即将到期时,一个新令牌。

访问令牌包含一些用户信息和令牌到期。您可以在此处添加这些标记以查看其数据:https://jwt.io/在此网站上,您还可以找到几个可用来有问题地读取这些令牌的库。

您可以通过将令牌存储在本地存储或cookie中来将其保留在内存中,以避免泄漏。有关如何刷新或保持会话的信息,请在此处查看:https://hasura.io/blog/best-practices-of-using-jwt-with-graphql

有关此工作流程的更多信息,我建议您选择要在应用程序中集成的第一类身份验证,并查看其OAuth文档。

这里是JS OAuth的google文档,我认为您正在寻找的是:https://developers.google.com/identity/protocols/oauth2#clientside

[我还建议您在进入编码之前,观看YouTube快速视频,了解OAuth2如何工作以涵盖基础知识。

我希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.