我想改变从REST到Kafka的(微)服务之间的通信.我不确定这些主题,并希望听到一些有关这方面的意见.
请考虑以下设置:我有一个API网关,通过REST为Web应用程序提供CRUD功能.所以我有4个用户可以调用的端点.API网关将生成请求并使用来自第二个服务的响应.第二个服务使用请求,访问数据库以对数据库执行CRUD操作并生成结果.
我应该创建多少个主题?我是否必须创建8(每个端点2个(请求/响应))或者有更好的方法吗?
希望听到一些经验或与会谈/文件相关的链接.
我想为我的弹簧控制器编写单元测试.我正在使用keycloak的openid流来保护我的端点.
在我的测试中,我使用@WithMockUser注释来模拟经过身份验证的用户.我的问题是我正在从校长的令牌中读取userId.我的单元测试现在失败了,因为userId我从令牌读取的是null;
if (principal instanceof KeycloakAuthenticationToken) {
KeycloakAuthenticationToken authenticationToken = (KeycloakAuthenticationToken) principal;
SimpleKeycloakAccount account = (SimpleKeycloakAccount) authenticationToken.getDetails();
RefreshableKeycloakSecurityContext keycloakSecurityContext = account.getKeycloakSecurityContext();
AccessToken token = keycloakSecurityContext.getToken();
Map<String, Object> otherClaims = token.getOtherClaims();
userId = otherClaims.get("userId").toString();
}
Run Code Online (Sandbox Code Playgroud)
有什么可以轻易嘲笑的KeycloakAuthenticationToken吗?
我正在尝试设置amazon-ecr-credential-helper,
但no basic auth credentials在我尝试时总是得到docker pull。
当我使用aws ecr get-login和docker login ...那我也没问题。
我按照他们的 README 文件中的说明使用 docker 映像创建了二进制文件。
在故障排除部分,他们说应该存储一个日志文件,~/.ecr/log但该/.ecr文件夹不存在。
规格:Docker 版本 18.06.1-ce,构建 e68fc7a
aws-cli/1.16.31 Python/2.7.15 Darwin/17.4.0 botocore/1.12.21
MacOS 高山脉
我希望有人有一个想法来弄清楚出了什么问题。
我正在使用我的javascript客户端录制一些音频数据RecordRTC.我想这个音频数据发送到我的春天RestController通过WebSockets.
录制后我的javascript客户端中有一个blob对象: Blob {size: 65859, type: "audio/webm"}
我试图将此blob转换为使用FileReader它的ArrayBuffer对象ArrayBuffer {} byteLength: 65859
我发送ArrayBuffer的javascript代码如下所示:
const reader = new FileReader();
reader.addEventListener( 'loadend', () => {
console.log( 'readerResult', reader.result );
this.stompClient.send( "/app/hello", {}, reader.result );
} );
this.recorder.stopRecording(() => {
const blob = this.recorder.getBlob();
reader.readAsArrayBuffer( blob );
console.log( "blob", blob );
} );
Run Code Online (Sandbox Code Playgroud)
我的Spring Boot应用程序中的WebSocket端点如下所示:
@MessageMapping("/hello")
public void stream(byte[] input) throws Exception {
System.out.println("incoming message ...");
System.out.println(input);
System.out.println(input.length);
}
Run Code Online (Sandbox Code Playgroud)
这是控制台输出:
incoming message ...
[B@6142acb4
20 …Run Code Online (Sandbox Code Playgroud) 我想用 keycloak 保护我的用户注册页面,但在阅读文档时想不出任何方法。
用例: 新用户的注册页面不应该是公开的。新用户会收到来自管理员的邀请电子邮件。该电子邮件包含指向注册页面的链接。
我考虑过使用initial access token(例如用于客户端注册)并将其添加到注册页面的链接中。Afaik 有没有类似的用户注册?
还有其他方法可以做到吗?
keycloak ×2
spring ×2
apache-kafka ×1
aws-ecr ×1
docker ×1
java ×1
javascript ×1
junit ×1
mockito ×1
rest ×1
spring-boot ×1
webrtc ×1