【问题标题】:User Auth - oAuth questions用户身份验证 - oAuth 问题
【发布时间】: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


【解决方案1】:

OAuth 是一种开放的授权标准。

也许您正在考虑 Auth0。有很多服务可以为您处理用户授权,包括 Auth0、Stormpath、Apigee、UserApp、AuthRocket 或 Amazon Cognito。无论您选择哪种方式,请确保您可以从他们那里获取数据库,以防您想停止使用他们的服务。不是每个人都明确提供了一种简单的方法来让他们离开,但如果这对您很重要,那么请确定谁适合您的需求,谁不适合您,并以此为基础做出决定。

关于 OAuth,请参阅 https://en.wikipedia.org/wiki/OAuth 文章。 维基百科上有一个巨大的list of OAuth providers,但这些都是像 Twitter、Google 或 Facebook 这样的服务。在某种程度上,您可以使用其中一项服务来管理您的所有登录,但一旦他们将您视为竞争对手,您就有麻烦了。我听说过这样的故事。

关于这个主题的一些有趣的阅读:

【讨论】:

  • RSP... 感谢您的回复。 OAuth 是否为您处理 jwt?我基本上只是想设置我的用户模型,以便当他们使用正确的凭据登录时,jwt 设置为去,即使用户靠近浏览器,他们仍然被授权,直到他们明确退出。谢谢。
  • @Tyler OAuth 不处理 JWT。 JWT 是 RFC 7519 中描述的 JSON Web Token,它是 OAuth 工作组的工作。一些身份验证提供程序明确支持 JWT,例如Auth0 - 请参阅auth0.com/docs/jwt - 一些提供商自己不支持它,您必须推出自己的解决方案,例如使用 Apigee,即使它确实使用 OAuth - 请参阅 community.apigee.com/questions/9860/support-for-jwt-token.html - 您必须查看我写过的哪些服务(我相信还有更多)支持开箱即用的 JWT,哪些不支持。
  • 将研究您所写的所有服务,谢谢。 PassportJS 怎么样?我没有看到提到,但在这种特定情况下,我开始远离 oAuth,因为我浏览了您提供的那些文章。
  • @Tyler Passport 可以做的不仅仅是 OAuth。例如。有关本地身份验证策略,请参阅 npmjs.com/package/passport-local - 有一个示例说明如何根据您自己的 Mongo 数据库对用户进行身份验证。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 1970-01-01
  • 1970-01-01
  • 2016-11-27
相关资源
最近更新 更多