【发布时间】:2017-02-08 06:02:48
【问题描述】:
我过去做过一个手卷应用程序,它在客户端 $window.sessionStorage 上存储用户令牌。
从那以后我意识到这并不安全。我现在正在寻找最安全、最标准的方法来保护使用我将制作的 node/express 后端 api 的应用程序,并且还使用向该 api 发出请求的前端,例如 angular for web 或本机移动应用程序.另外,每当我关闭浏览器时,我都必须重新登录,因为 $window 的会话存储已被清除。
根据我迄今为止的研究,如果您要手动处理它,迄今为止最安全的方法之一是将 jwt 存储在仅 http 的安全 cookie 中。
不过,我有点想使用已经存在的服务,例如 oAuth。几个问题:
1) oAuth 在保持用户群的所有权方面有多安全?如果 3 年后 oAuth 突然或慢慢消失怎么办?从技术上讲,我的所有用户不是都存储在他们的服务器上吗?如何让我的用户使用我的应用程序?
2) 如果我要在与 snapchat、twitter、tumblr 等相同的领域创建一个启动应用程序......通常是否建议使用像 oAuth 这样的服务来处理我的身份验证?当然,未来是未知的,但假设最好的情况是,我的应用程序将覆盖数百万用户,那么使用像 oAuth 这样的服务仍然是一个明智的选择吗?似乎一旦您开始使用 oAuth,一两年后就再也无法将用户存储在您自己的数据库中了。
谢谢
【问题讨论】:
-
建议在 SO 上明确偏离主题。
-
关于什么的建议?
-
一切,包括身份验证协议和服务。
-
好的,我就换个语言谢谢
-
这似乎不太可能解决它。也许学习How to Ask。
标签: node.js authentication express oauth passport.js