api - 在请求正确时获得 401 http 响应(有时)

标签 api http tomcat jersey jax-rs

我最近遇到了一个问题,我不知道如何处理它,甚至不知道问题可能来自什么。

工具:

-MYSQL(数据库)

-JAVA EE 网络应用程序(作为后端服务)

-Jersey 2.26 依赖项(在 Web 应用程序/CORS 过滤器实现之上作为 API 提供服务)

-Apache Tomcat/7.0.69(作为网络应用设置的网络服务器)

-Angular 4(作为 API 的网站和客户端)

-CentOS Linux release 7.3 (Core)(服务器操作系统)

问题:

一旦请求被发送到 API(到一个特定的安全端点)就可以称之为客户,有时响应是 401 Unauthorized,而在其他时候它工作得很好,例如从角度网站,如果按 f12 和按照请求,我再次发送相同的请求(对于我得到 ​​401 的请求),但这次它起作用了,JWT 是有效的,它工作得很好,并不是说有太多的请求去服务器,甚至如果它很少,有时我会得到 401,但大多数时候效果很好。

代码中唯一可以返回 401 的是身份验证过滤器,它检查 token 的有效性,但我觉得没问题。

我检查了这个article那谈到了 401 响应,但我仍然很难理解为什么它有时工作得很好而其他时候却不能处理相同的请求。我在与网站核对以及与 postman 核对时收到 401。所以我想这不是缓存或 cookie 的问题,但我的假设可能是错误的。

有什么可能出错的想法吗?或者我应该在哪里检查错误或错误?

谢谢分配

最佳答案

将 tomcat 安全设置为 false。

关于api - 在请求正确时获得 401 http 响应(有时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49572712/

相关文章:

ios - 对于同一应用程序的 iOS 和 Web 客户端,我是否需要在 Spotify 开发者网站上使用两个不同的应用程序?

php - 如何在 PHP 中使用亚马逊的 API 来搜索书籍?

ruby-on-rails - 使用 Devise 设置 API 进行身份验证

.net - 如何在 .NET 应用程序中嵌入 IronPython

http - 如何在接受 header 字段中指定接受具有特定内容类型的多部分/相关内容类型的正文部分

swift - HTTP Headers w/NSURLRequest in swift

java - 安卓 Java : HttpURLConnection

mysql - Grails:ClassNotFoundException:WAR 部署中的 com.mysql.jdbc.Driver

java - 从属性文件更新 Spring @Scheduled Cron

Apache + 代理 + tomcat : error - duplicated app name