我有一个JavaScript客户机(HTML )调用REST端点。我想要某种身份验证。我的问题是,任何人都可以查看网页的来源,并看到JavaScript。我如何存储一些秘密/密钥来从JavaScript调用API?
发布于 2017-03-17 13:04:57
OAuth2规范通过OAuth2“隐性赠款”为纯浏览器客户端做了规定。
隐式授予类型用于获取访问令牌(它不支持发出刷新令牌),并为已知操作特定重定向URI的公共客户端进行优化。这些客户端通常使用脚本语言(如JavaScript )在浏览器中实现。
如果与您交互的服务提供者支持OAuth2隐式授权流-您是免费的。
它要求客户端标识符(客户端密钥)链接到特定的redirect_uri,因此即使客户端标识符丢失,也没有其他人可以使用它--因为oauth流总是重定向到同一个URI。
因此,保护实际的客户端标识符就变得不重要了,即使它被截获了,也没有其他人可以使用它来获取访问令牌。
发布于 2017-03-17 05:48:55
一种较安全的方法是将密钥存储在本地存储/索引数据库中。而不是在javascript中进行硬编码。
或者混淆javascript代码。尝试类似这样的服务
或任何类似于混淆js代码的内容。
https://stackoverflow.com/questions/42849840
复制相似问题