我正在尝试使用 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)和一个公共客户端(博客),并具有以下配置:
在 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) 我有一个使用Hibernate作为提供程序的Spring Data JPA存储库.我想记录SQL语句,但我无法实现.我试过各种解决方案:
这是我的类和配置文件:
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) 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) 从流中收集数据时,我遇到了一个令人讨厌的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提供的答案确实正确。