我创建了jhipster演示应用程序,并希望用邮递员等工具检查我的适应休息api。我已经尝试使用基本身份验证,用户和密码都设置为管理员,用户或系统。但他们都不能访问,得到一个401.访问与邮递员jspeter演示程序
如果你能给我一个提示怎么做来访问它会很好。
干杯 马库斯
我创建了jhipster演示应用程序,并希望用邮递员等工具检查我的适应休息api。我已经尝试使用基本身份验证,用户和密码都设置为管理员,用户或系统。但他们都不能访问,得到一个401.访问与邮递员jspeter演示程序
如果你能给我一个提示怎么做来访问它会很好。
干杯 马库斯
只是一个猜测,但演示应用程序使用的cookies,因此使用CSRF。所以你需要发送适当的CSRF令牌和你的请求。如果您使用标记方法(而不是Cookie)生成应用程序,则不需要CSRF。
请参阅https://github.com/jhipster/generator-jhipster/issues/363并在页面上搜索邮递员。
在文件SecurityConfiguration.java从
.antMatchers("/api/**").authenticated()
更改为
.antMatchers("/api/**").permitAll()
让您无需任何身份验证,访问API。
注意:这是不安全的,使您的API公开,但可能是有用的,而通过邮递员测试。
我的网站允许未经身份验证的用户访问某个部分。因此我发现401错误令人讨厌。
我做了一个拉要求修复它,在这里看到: https://github.com/jhipster/generator-jhipster/pull/2623
它需要访问API /帐户,但也有一些其他的变化做些什么来避免NPE。
因为邮差现在是一个单独的应用程序(而不是扩展),它不能直接访问您的cookie。但是,仍然可以使用Postman与会话身份验证JHipster应用程序。
/api/authentication
的响应。您还可以在浏览器的开发者控制台的其他地方找到Cookie,在Chrome中,它们位于“应用程序”选项卡下。JSESSIONID
和X-XSRF-TOKEN
Cookie。请求的“Cookies”标签将如下图所示。对于邮递员和智威汤逊AUTH帮助登录同一用户看到this answer。
这取决于您的身份验证选项(但在问题中未描述),因此您需要针对JWT或OAuth2稍微修改此答案。 – 2017-01-30 12:33:01
@Jon,谢谢你的回答。不幸的是,我仍然无法在我的环境中工作(jHipster 2.27.1,Windows 7,Chrome,Postman 4.9.2,邮差拦截器;邮件组件都处于拦截器激活模式; Chrome和Postman重新启动;饼干被刷新)。在这种环境下,我的邮递员安装也不提供上述和突出显示的* Cookies *选项卡。 HTTP POSTs到'/ api/$ {SOME_ENTITY}'仍然失败,并且* 403 Forbidden *。 – Abdull 2017-01-30 13:40:19
对于之前的JHipster版本,XSRF cookie名称不同。我相信它被称为'CSRF-TOKEN'而不是'XSRF-TOKEN'。另一种选择是将该标记作为标题传递,而不是使用X-XSRF-TOKEN标记的cookie。我不确定你为什么看不到Cookies选项卡,邮差拦截器可能会为你处理 - 我还没有尝试过 – 2017-01-30 16:34:10
嗨,谢谢你的回答。它使我走向正确的道路。我已经使用Postman Packaged App,这并没有奏效。如果我使用postman chrome扩展并且之前登录了我的restservice,我可以完全访问它。到目前为止,这对我来说已经够了。 – 2015-04-02 10:48:38
很高兴你知道了! – sdoxsee 2015-04-02 11:43:45