小编Fra*_*ire的帖子

如何使用 Keycloak 和 Angular 避免“等待第 3 方检查 iframe 消息时超时”

我正在尝试使用 Keycloak 服务器保护 Angular 应用程序的安全。我遵循了一些教程,它们或多或少提供了相同的说明,但我遇到了以下错误:

等待第 3 方检查 iframe 消息时超时。

我使用以下 docker-compose 配置启动 keycloak 服务器:

auth:
  container_name: nerthus-tech-auth
  image: quay.io/keycloak/keycloak:17.0.1
  command: start-dev
  environment:
    KEYCLOAK_ADMIN: admin
    KEYCLOAK_ADMIN_PASSWORD: admin
    KC_DB: postgres
    KC_DB_URL: jdbc:postgresql://database:5432/keycloak
    KC_DB_USERNAME: keycloak
    KC_DB_PASSWORD: str0ngP@ssword
  ports:
    - 10010:8080
Run Code Online (Sandbox Code Playgroud)

我创建了一个领域(nerthus)和一个公共客户端(博客),并具有以下配置:

  • 根 URL:http://localhost:4200
  • 有效的重定向 URL:http://localhost:4200/* (根据我的理解,我应该能够缩写为 *)
  • 网络起源:+

在 Angular 应用程序方面,我安装了 keycloak-angular 和 keycloak-js 依赖项:

"keycloak-angular": "^9.1.0",
"keycloak-js": "^16.1.1"
Run Code Online (Sandbox Code Playgroud)

我还为 Keycloak 注册了一个初始化程序:

providers: [
  {
    provide: APP_INITIALIZER,
    useFactory: initializeKeycloak,
    multi: true,
    deps: [KeycloakService]
  }
]
Run Code Online (Sandbox Code Playgroud)
function initializeKeycloak(keycloakService: KeycloakService) {
  return () => …
Run Code Online (Sandbox Code Playgroud)

security keycloak angular

16
推荐指数
1
解决办法
3万
查看次数

使用Hibernate和Spring Data JPA激活SQL语句

我有一个使用Hibernate作为提供程序的Spring Data JPA存储库.我想记录SQL语句,但我无法实现.我试过各种解决方案:

  • 在我的HibernateJpaVendorAdapter中将showSql设置为true
  • 将log4j.logger.org.hibernate.SQL = DEBUG添加到我的log4j.properties文件中(值得一提的是log4j.logger.org.hibernate = INFO确实添加了一些日志信息但log4j.logger.org.hibernate.SQL = DEBUG didn "t)的

这是我的类和配置文件:

DatabaseConfiguration.java

/**
 * Database configuration
 *
 * @author dupirefr
 */
@Configuration
@Import({BaseConfiguration.class, DatabaseProperties.class})
@EnableJpaRepositories(basePackages = DatabaseConfiguration.REPOSITORIES_PACKAGE)
public class DatabaseConfiguration {

    /*
     * Constants
     */
    public static final String MODEL_PACKAGE = "be.dupirefr.examples.spring.batch.simple.model";
    public static final String REPOSITORIES_PACKAGE = "be.dupirefr.examples.spring.batch.simple.repositories";

    /*
     * Beans
     */
    @Bean
    public DataSource dataSource(DatabaseProperties properties) {
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setUrl(properties.url);
        dataSource.setUsername(properties.username);
        dataSource.setPassword(properties.password);
        dataSource.setDriverClassName(properties.driverClassName);

        return dataSource;
    }

    @Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(DataSource dataSource) { …
Run Code Online (Sandbox Code Playgroud)

java logging hibernate jpa spring-data-jpa

7
推荐指数
1
解决办法
4285
查看次数

Why does H2 database tells me my table does not exist for some tests only

I have a Spring JPA Repository which I'm trying to test using a H2 in-memory database. Some of the tests pass while others are not. The problem is that H2 is telling me my table doesn't exist (which is weird because the tests that pass also use that very same table).

Here is my database configuration:

@Configuration
@Import({BaseConfiguration.class, DatabaseProperties.class})
@EnableJpaRepositories(basePackages = DatabaseConfiguration.REPOSITORIES_PACKAGE)
public class DatabaseConfiguration {

    /*
     * Constants
     */
    public static final String MODEL_PACKAGE = "be.dupirefr.examples.spring.batch.simple.model";
    public static final …
Run Code Online (Sandbox Code Playgroud)

java spring jpa h2

1
推荐指数
1
解决办法
8429
查看次数

在收集流结果时获取意外的NullPointerException

从流中收集数据时,我遇到了一个令人讨厌的NullPointerException。在我看来,我不应该得到一个,这就是困扰我的地方。

这是错误的代码:

descriptiveData
    .stream()
    .map(Signaletiques::getContrats)
    .filter(Objects::nonNull)
    .collect(Collectors.toList())
Run Code Online (Sandbox Code Playgroud)

descriptiveData不为null,并且不包含任何null对象,但是getContrats的结果可能是。这是一个非常有效的商业情况,我认为使用过滤器来处理它是解决问题的方法,但我所能得到的只是这个异常:

原因:java.util.stream.ReferencePipeline $ 3 $ 1.accept(ReferencePipeline.java:193)处的java.lang.NullPointerException java.util.stream处的java.util.ArrayList $ ArrayListSpliterator.tryAdvance(ArrayList.java:1351) .ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)at java.util。 java.util.stream.FindOps $ FindOp.evaluateSequential(FindOps.java:152)的java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)的stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) .util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)位于be.formatech.forhrm.appipay.synchrosignaletique.service.impl。SynchronisationAppipayUcmIdFetcherImpl.searchWorkerIdThroughContractsData(SynchronisationAppipayUcmIdFetcherImpl.java:141)`

知道这可能来自什么吗?

编辑:

我真的很抱歉 !

我在descriptiveData列表中确实有一个空值,但是IntelliJ并未显示它: 在此处输入图片说明

感谢@Nikolas提供的答案确实正确。

java nullpointerexception java-8 java-stream

1
推荐指数
1
解决办法
1642
查看次数