首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储经过身份验证的登录的好方法是什么?

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

Stack Overflow用户
提问于 2020-05-20 13:15:25
回答 1查看 130关注 0票数 0

如果您的网站允许异地登录(通过Google、Steam等登录),那么存储回调结果(例如Steam ID)的最佳方式是什么,这样您就可以“记住”他们已经登录了。还有,最安全的方法是什么,这样就没有人可以“假装”登录了?

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

有没有更好、更安全的方法呢?

EN

回答 1

Stack Overflow用户

发布于 2020-05-20 13:59:12

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

访问令牌包含一些用户信息和令牌的过期时间。你可以在这里粘贴这些标记来查看它们的数据:https://jwt.io/在这个网站上,你还可以找到几个库,你可以使用它们来有问题地读取这些标记。

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

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

下面是JS OAuth的googles文档,我想这就是您正在寻找的文档:https://developers.google.com/identity/protocols/oauth2#clientside

我还建议你在开始编码之前先看一段关于OAuth2如何工作的快速YouTube视频,以涵盖基础知识。

我希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61905596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档