Web services 用于访问具有单点登录身份验证[WebSO/SSO]的web服务的Jersey客户端?

Web services 用于访问具有单点登录身份验证[WebSO/SSO]的web服务的Jersey客户端?,web-services,rest,single-sign-on,jersey-2.0,Web Services,Rest,Single Sign On,Jersey 2.0,我有一个web服务,其用户身份验证由web浏览器单点登录身份验证方法提供,通过该方法,人类用户将使用其公司电子邮件ID从web浏览器自动登录 我已经编写了一个JavaJersey 2.x客户机(web服务的非人类消费者)。在客户端代码中,我使用HttpAuth作为 HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic("ENTER_USERNAME_HERE", "PASSWORD_HERE"); 但是客户端无法

我有一个web服务,其用户身份验证由web浏览器单点登录身份验证方法提供,通过该方法,人类用户将使用其公司电子邮件ID从web浏览器自动登录

我已经编写了一个JavaJersey 2.x客户机(web服务的非人类消费者)。在客户端代码中,我使用HttpAuth作为

HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic("ENTER_USERNAME_HERE", "PASSWORD_HERE");
但是客户端无法将HTTP状态代码声明为302(重定向错误) 然后,我使用curl进行同样的操作,并以HTML页面的形式收到响应,其中
文件移到这里(问题终于解决了,所以我要回答我自己的问题

在所有的RnD之后,很明显没有任何复杂的方法可以从jeresy 2.x客户端代码传递(验证)WEb SSO(单点登录)。 尽管我发现了一些关于
kerberos
和的有趣文章

所以,最后 我创建了另一个URL路径作为
/AuthWithCert
服务器代理配置中的上下文,并将来自此路径的请求作为排除项添加到WebSO登录配置中。 因此,身份验证自动指向默认值(
HttpBasic Client Auth
),没有任何重定向错误,客户端工作正常

Exception in thread "main" javax.ws.rs.NotAuthorizedException: HTTP 401 Unauthorized