2015-03-31 17 views
2

我创建了jhipster演示应用程序,并希望用邮递员等工具检查我的适应休息api。我已经尝试使用基本身份验证,用户和密码都设置为管理员,用户或系统。但他们都不能访问,得到一个401.访问与邮递员jspeter演示程序

如果你能给我一个提示怎么做来访问它会很好。

干杯 马库斯

回答

0

只是一个猜测,但演示应用程序使用的cookies,因此使用CSRF。所以你需要发送适当的CSRF令牌和你的请求。如果您使用标记方法(而不是Cookie)生成应用程序,则不需要CSRF。

请参阅https://github.com/jhipster/generator-jhipster/issues/363并在页面上搜索邮递员。

+0

嗨,谢谢你的回答。它使我走向正确的道路。我已经使用Postman Packaged App,这并没有奏效。如果我使用postman chrome扩展并且之前登录了我的restservice,我可以完全访问它。到目前为止,这对我来说已经够了。 – 2015-04-02 10:48:38

+0

很高兴你知道了! – sdoxsee 2015-04-02 11:43:45

1

在文件SecurityConfiguration.java从

.antMatchers("/api/**").authenticated() 

更改为

.antMatchers("/api/**").permitAll() 

让您无需任何身份验证,访问API。

注意:这是不安全的,使您的API公开,但可能是有用的,而通过邮递员测试。

2

因为邮差现在是一个单独的应用程序(而不是扩展),它不能直接访问您的cookie。但是,仍然可以使用Postman与会话身份验证JHipster应用程序。

  1. 首先,与JHipster应用
  2. 在浏览器的开发者工具进行验证,检查的Set-Cookie头(JSESSIONID和X-XSRF-TOKEN),以/api/authentication的响应。您还可以在浏览器的开发者控制台的其他地方找到Cookie,在Chrome中,它们位于“应用程序”选项卡下。
  3. 编辑邮差中的cookie以添加JSESSIONIDX-XSRF-TOKEN Cookie。请求的“Cookies”标签将如下图所示。
  4. 一旦cookie被设置,你的请求将被验证为您在步骤1中

Sample screenshot showing where to edit cookies

对于邮递员和智威汤逊AUTH帮助登录同一用户看到this answer

+0

这取决于您的身份验证选项(但在问题中未描述),因此您需要针对JWT或OAuth2稍微修改此答案。 – 2017-01-30 12:33:01

+0

@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

+0

对于之前的JHipster版本,XSRF cookie名称不同。我相信它被称为'CSRF-TOKEN'而不是'XSRF-TOKEN'。另一种选择是将该标记作为标题传递,而不是使用X-XSRF-TOKEN标记的cookie。我不确定你为什么看不到Cookies选项卡,邮差拦截器可能会为你处理 - 我还没有尝试过 – 2017-01-30 16:34:10