当前位置: 首页 > 知识库问答 >
问题:

KeyCloak-JavaScript&Spring Boot应用程序

宇文念
2023-03-14

问题是当HTML页面使用AJAX调用此web服务时,它会失败。
因此,当我在key cloak server中输入凭据并重定向到HTML页面时,HTML页面无法进行AJAX调用。响应代码为302,并将其重定向到keycloak auth服务(在ajax调用期间)。

我在这里的问题是:
*如果我的html页面和restful web服务使用相同的keycloak客户机,我不需要登录一次吗?*如果(html和webservice)都是分开认证的,并且都是工作文件,那么为什么当我刚登录到html页面时它就不工作了?
*是否有不同的方法来克服这个问题?

共有1个答案

华誉
2023-03-14

解决办法很简单。我不得不使用jsonp而不是json ajax请求。
我在ajax调用中添加了datatype:“jsonp”,并使用spring 4建议来支持服务器端的jsonp支持。
建议代码:

@ControllerAdvice
public class JsonpAdvice extends AbstractJsonpResponseBodyAdvice {
public JsonpAdvice() {
    super("callback");
    }
}

Javascript代码:

$(document).ready(function() {
$.ajax({
    url: "http://localhost:8081/hello-world/",
    dataType:"jsonp"
}).then(function(data) {
   $('.greeting-id').append(data.id);
   $('.greeting-content').append(data.content);
});

});

 类似资料:
  • 我已经安装了keycloak-angular包,我使用它的方式如下:https://www.npmjs.com/package/keycloak-angular 问题是,在我的应用程序中,我希望有多租户。这意味着在应用程序加载期间不知道领域名。 在说明中,它说“KeycloakService应该在应用程序加载期间使用APP_INITIALIZER标记初始化”,问题是该领域是由用户给定的,在应用程序

  • 完成干净的构建后,我将war文件复制到Tomcat的文件夹中。但是部署会发生两次,并且在上下文已经存在的情况下以异常结束。我错过了什么? 非常感谢您的帮助。

  • 问题内容: 我将使用keycloak保护我的golang应用程序,但keycloak本身不支持go语言。 github中有一些go适配器作为一个开放项目,已经将openId connect协议实现为提供程序服务,但是它们没有提供有关如何将库与应用程序集成的示例或文档。 如何使用Golang与Keycloak互动? 问题答案: 如您所指出的,没有用于golang的官方keycloak适配器。但是实现

  • 我试图在SpringMVC中运行SpringBoot应用程序,在SpringMVCPOM中添加SpringBoot应用程序依赖项,并扫描SpringBoot包,但我面临以下问题

  • 我在src/main/resources下创建了2个文件: 应用程序。属性 第一个具有从env变量中获取值的属性,而后者具有固定值。 根据这里的具体情况,我以这样的方式推出了Spring靴: 然而,不会产生任何影响,并且应用程序是局部的。属性似乎被忽略。 有什么提示吗?

  • 这是我使用SpringBoot的第一天,我试图理解体系结构,因此我开始构建一个hello world应用程序: 在我的pom.xml中,在maven-shade-plugin下,我将mainClass声明如下: 文件目标是src/main/java/com/demo/helloworld.java,该文件中的代码是: 我错过了什么?