Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 来自KeyClope的带有URL OIDC参数的重定向给出了错误的请求_Java_Wildfly_Kerberos_Openid Connect_Keycloak - Fatal编程技术网

Java 来自KeyClope的带有URL OIDC参数的重定向给出了错误的请求

Java 来自KeyClope的带有URL OIDC参数的重定向给出了错误的请求,java,wildfly,kerberos,openid-connect,keycloak,Java,Wildfly,Kerberos,Openid Connect,Keycloak,我当前的设置如下: 运行Active Directory的Windows服务器 KeyClope服务器正在疯狂运行 在WildFly上部署了访问受限的Java测试应用程序 授权流是来自AD的用户请求访问应用程序,向用户授予Kerberos票证,并尝试使用该特定票证访问同一应用程序 Kerberos、keydove和AD的所有配置都已完成,服务器和客户端之间的协议运行顺利,但最后一个“GET”请求(用户已被授予访问权限)意味着请求包含OpenID Connect参数(state=和code=)

我当前的设置如下:

  • 运行Active Directory的Windows服务器
  • KeyClope服务器正在疯狂运行
  • 在WildFly上部署了访问受限的Java测试应用程序
授权流是来自AD的用户请求访问应用程序,向用户授予Kerberos票证,并尝试使用该特定票证访问同一应用程序

Kerberos、keydove和AD的所有配置都已完成,服务器和客户端之间的协议运行顺利,但最后一个“GET”请求(用户已被授予访问权限)意味着请求包含OpenID Connect参数(state=和code=)的keydove重定向URL,返回“错误请求”。

我对使用KeyClope作为SSO提供者的概念还比较陌生,所以这可能是我错过的一件非常琐碎的事情

[编辑]
如果我在Fiddler中对受限页面发出请求,它会给我一个“无状态Cookie”,但当我使用任何类型的浏览器时,它会显示“禁止”,并且我的日志会显示错误[org.keydove.adapters.OAuthRequestAuthenticator](默认任务-9)验证令牌失败:无效的令牌颁发者。应为“但应为”

我确实找到了解决方案:

  • 我试图用浏览器更改Fiddler客户端,但遇到了一个问题,它告诉我令牌的颁发者不是预期的颁发者,我发现在我的standalone.xml中,身份验证端点用大写字母拼写,而它预期用小写字母拼写。至于“无状态cookie”,我想浏览器会处理类似的请求,这与Fiddler有点不同

我不熟悉Key斗篷,所以我只是快速搜索了一下。读完后,我的陈述是AD已经提供了一个内置的、可扩展的、易于管理的、基于Kerberos的SSO解决方案。为什么还要愚弄keydove,这会复制它呢?很抱歉,这是一个业务需求,我对此没有影响。除了大声说出各种不好的和负面的话之外,我们都在绝望地希望能把它搞定。@T-Heron Keyclope实现了OpenID连接协议。在幕后,它依赖于身份提供者,身份提供者可以是AD,并且可以配置为使用Kerberos。OpenID Connect和Kerberos非常不同,设计用于满足不同的用例。