我通过与智威汤逊认证的安全性在我的脑海一些结构问题的工作,我想弄清楚以下几点:智威汤逊是否共享/存储用于在客户端和服务器上签名的秘密?
如何JWT安全地传递服务器和客户端之间的秘密?
看看下面的摘录从https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage/ ....................
CSRF可以通过使用能够防止同步的令牌模式。这听起来很复杂,但所有现代Web框架都支持这一点。
例如,AngularJS有一个解决方案来验证该cookie只能被您的域访问。直从AngularJS文档:
“当执行XHR请求时,$ http服务读取来自一个cookie令牌(默认XSRF-TOKEN),并且将它作为一个HTTP报头(X-XSRF-TOKEN)。由于只有在您的域上运行的JavaScript才能读取cookie,因此您的服务器可以确保XHR来自运行在您的域上的JavaScript。 您可以通过包括xsrfToken JWT要求使这种CSRF保护无国籍:”
{ "iss": "http://galaxies.com", "exp": 1300819380, "scopes": ["explorer", "solar-harvester", "seller"], "sub": "[email protected]", "xsrfToken": "d9b9714c-7ac0-42e0-8696-2dae95dbc33e" }
- 客户如何创建和发送包含一个有效的请求xsrfToken声称,除非它在包含索赔之后可以首先签署JWT? (这xsrfToken毕竟是什么应该保持EvilBob伪造的请求吧?)可以在这里http://spring.io/blog/2013/08/21/spring-security-3-2-0-rc1-highlights-csrf-protection/找到
更多关于我目前的JWT XSRF过程的了解细节。
哇,非常感谢你@SilverlightFox。这是非常全面和非常有用的,包括多种选择。非常感谢反馈。 – PLanger