小编Pet*_*tig的帖子

Kafka而不是Rest用于微服务之间的通信

我想改变从REST到Kafka的(微)服务之间的通信.我不确定这些主题,并希望听到一些有关这方面的意见.

请考虑以下设置:我有一个API网关,通过REST为Web应用程序提供CRUD功能.所以我有4个用户可以调用的端点.API网关将生成请求并使用来自第二个服务的响应.第二个服务使用请求,访问数据库以对数据库执行CRUD操作并生成结果.

我应该创建多少个主题?我是否必须创建8(每个端点2个(请求/响应))或者有更好的方法吗?

希望听到一些经验或与会谈/文件相关的链接.

rest apache-kafka microservices

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

模拟Keycloak令牌以测试Spring控制器

我想为我的弹簧控制器编写单元测试.我正在使用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吗?

junit spring spring-security mockito keycloak

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

使用 amazon-ecr-credential-helper 时“无基本身份验证凭据”

我正在尝试设置amazon-ecr-credential-helper,no basic auth credentials在我尝试时总是得到docker pull

当我使用aws ecr get-logindocker 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 高山脉

我希望有人有一个想法来弄清楚出了什么问题。

docker aws-ecr

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

如何从javascript发送音频blob到java spring服务器?

我正在使用我的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)

javascript java spring webrtc spring-boot

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

Keycloak 安全用户注册

我想用 keycloak 保护我的用户注册页面,但在阅读文档时想不出任何方法。

用例: 新用户的注册页面不应该是公开的。新用户会收到来自管理员的邀请电子邮件。该电子邮件包含指向注册页面的链接。

我考虑过使用initial access token(例如用于客户端注册)并将其添加到注册页面的链接中。Afaik 有没有类似的用户注册?

还有其他方法可以做到吗?

keycloak

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