【问题标题】:How to store clientId and clientSecret in clientside angularjs application using OAuth2?如何使用 OAuth2 在客户端 angularjs 应用程序中存储 clientId 和 clientSecret?
【发布时间】:2015-07-15 05:48:28
【问题描述】:

我正在构建一个 MEAN JS 应用程序,我想在客户端 angularjs 应用程序中保护我的应用程序 clientId 和客户端密码。我可以在哪里存储这些详细信息。如何为此提供安全性?

对于用户登录,我必须提供这些并且需要获取访问令牌...新手帮助我..

【问题讨论】:

  • 不要在客户端存储这种东西。几乎不可能保持安全。另外,大多数 oauth 服务器只接受来自明确声明的域的请求。让您的应用程序服务器与 oauth 服务器进行对话。有很多例子。

标签: javascript angularjs node.js oauth-2.0


【解决方案1】:

将 client_secret 保留在客户端,你基本上会毁掉它背后的整个想法。

比如说,Google 要求客户端应用进行额外的验证调用 Google OAuth docs

如果您能够从服务器端发出请求,则在收到来自 oauth 提供者的令牌后,将其传递给服务器端并发送令牌和 client_secret 以接收用户的数据。

其实这和谷歌的hybrid auth比较相似,被认为比普通的oauth更安全

【讨论】:

  • 请从链接描述开始改进你的答案
  • 引用客户端应用程序的链接,google说将客户端密码存储在JS代码中并添加:“(在这种情况下,客户端密码显然不被视为机密。)” ,所以这不是问题的真正答案,是吗?
猜你喜欢
  • 2014-07-16
  • 1970-01-01
  • 2017-09-01
  • 2013-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多