KeystoneJS CSRF在自己的页面上
我正在寻找一个简单的方法来设置一个CSRF令牌,并检查每个POST / PUT / …请求。
AdminUI中已经有了一个机制。 这可以在“正常”的网页上使用吗?
我知道keystone.security.csrf.middleware.init
和keystone.security.csrf.middleware.validate
函数。 但是最好的地方叫他们在哪里?
提前谢谢了! 丹尼尔
编辑:我曾尝试使用
keystone.pre('routes', keystone.security.csrf.middleware.init);
keystone.pre('routes', keystone.security.csrf.middleware.validate);
在我的路线文件。 令牌在我的cookie中设置。 当我请求服务器时,cookie也被传输。 但validation方法告诉我:“不匹配标记”。 也许我有一个概念误解。 我想,这可以开箱即用。 我错过了什么?
编辑2:我将添加令牌到我的表单。 我错过了这一步…
你可以把它称为一个普通的中间件,只需在你的routes / index.js文件中定义它:
keystone.pre('routes', keystone.security.csrf.middleware.init);
- Csurf无效的csrf令牌Express / nodejs
- Braintree与csrf webhooks不工作
- 为什么Express / Connect为每个请求生成新的CSRF令牌?
- 错误:CSRF令牌缺失,hackathon-starter加上AngularJS
- 当使用enctype =“multipart / form-data”时,我得到CSRF错误
- CSRF禁止在我的registry上,不知道为什么
- 在CSRF保护下构buildnode.js服务器,移动应用程序如何接收CSRF令牌?
- 表示CSRF令牌validation
- 如何启用节点上的csrfexpression式为graphql和graphiql与例如lusca?