我的第一个问题是如何问自己:-)因为我有点迷路。
我的想法如下:
具有多个微服务(弹簧启动应用程序),它们可以彼此交互,也可以直接从外部调用。因此,我认为保护它们是一个好主意。使它们彼此调用的第一步的想法是使用客户端身份验证。 因此,我创建了一个领域和几个客户端配置,并将每个其余端点的客户端配置添加到其余模板中,作为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的世界,可以进行外界的认证?
提前谢谢