用于保护微服务到微服务调用的密钥斗篷

时间:2019-04-08 16:34:31

标签: spring-boot oauth-2.0 microservices openid-connect keycloak

我的第一个问题是如何问自己:-)因为我有点迷路。

我的想法如下:

具有多个微服务(弹簧启动应用程序),它们可以彼此交互,也可以直接从外部调用。因此,我认为保护它们是一个好主意。使它们彼此调用的第一步的想法是使用客户端身份验证。 因此,我创建了一个领域和几个客户端配置,并将每个其余端点的客户端配置添加到其余模板中,作为ClientCredentials

class MyRestTemplate(
        details: ClientCredentialsResourceDetails,
        private val baseUrl: String
) : OAuth2RestTemplate(details)

并有提供者

@Bean
    fun restTemplate(): MyRestTemplate{
        return MyRestTemplate(details(), config.baseUrl)
    }


    private fun details(): ClientCredentialsResourceDetails {
        val details = ClientCredentialsResourceDetails()
        details.grantType = "client_credentials"
        details.accessTokenUri = "${config.accessTokenUri}"

        details.clientId = config.clientId
        details.clientSecret = config.clientSecret

        return details
    }

但是当我从MS B呼叫MS A时,我得到了302重定向..所以我的问题是...

这个想法本身有问题吗? 或如何处理? 有没有最佳做法?

使用例如Ingress Controller是Kubernetes的世界,可以进行外界的认证?

提前谢谢

0 个答案:

没有答案