Kubernetes pod 使用 Keycloak Bearer 标头返回 401

Kubernetes pod 使用 Keycloak Bearer 标头返回 401

我有一个 k8s 集群,其中 ALB(ingress)-->(api 服务、keycload 服务)-->(api 部署、pod 部署)。

我使用授权代码身份验证访问 Keycloak 并获取访问令牌。但是当我们使用 keycloak accesstoken 作为承载标头调用 api 服务时,api 返回 401 且没有任何日志。

 cache-control: no-cache, no-store, max-age=0, must-revalidate 
 content-length: 0 
 date: Fri, 23 Oct 2020 11:35:42 GMT 
 expires: 0 
 pragma: no-cache 
 status: 401 
 strict-transport-security: max-age=31536000 ; includeSubDomains 
 vary: Origin, Access-Control-Request-Method, Access-Control-Request-Headers 
 x-content-type-options: nosniff 
 x-frame-options: DENY 
 x-xss-protection: 1; mode=block 

我还将 pod 和服务转发到本地主机并调用它,但它仍然无法处理。

curl -X GET "http://localhost:8080/auth/profile" -H "accept: application/json" -H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJmdlhrRlJVZHZmQ0Iwai00c2x3Vjhwelg5Q0dNT0hhUWMwY18xUkQ0ZkRzIn0.eyJleHAiOjE2MDM0NzUxMzUsImlhdCI6MTYwMzQ0MDI5OSwiYXV0aF90aW1lIjoxNjAzNDM5MTM1LCJqdGkiOiIxYzAxOTNiNi1hY2Q5LTQwY2ItODEwNC03YmQzMmZlYWQ3MWYiLCJpc3MiOiJodHRwczovL2tleWNsb2FrLnZhbGlkOC5waGFybWFjeXN0YXJzLmNvbS9hdXRoL3JlYWxtcy9tYXN0ZXIiLCJzdWIiOiI3ZGRkYWJlZC1iNDUxLTQwZDQtOGExYi1jZTM1MTA5OGNjMGUiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJ2YWxpZDgiLCJzZXNzaW9uX3N0YXRlIjoiYzU1YTM0NjUtZWM1My00YTAxLThlYjgtOGQ3MDViYjk2MzI4IiwiYWNyIjoiMCIsImFsbG93ZWQtb3JpZ2lucyI6WyIqIl0sInJlc291cmNlX2FjY2VzcyI6eyJ2YWxpZDgiOnsicm9sZXMiOlsiTWVtYmVyIl19fSwic2NvcGUiOiJvcGVuaWQgZW1haWwiLCJlbWFpbF92ZXJpZmllZCI6ZmFsc2UsImVtYWlsIjoidmFuLmxlQHhwZXJjLmNvbSJ9.EOAhCVslwpgpNyGX17MYw4dKgpVAUwwmvgDW_qE6KIFLyCUjYjDSKhLlvuYGDQ6_LMgkujBIzDlFMp3lzAuFpfxmeCAggplxtDuheiumXVC4D-J3BLRzPxtl2zVRaWsglOTaE3V24PwHXpofSbSDAoqdTeOeqGYNV9dllHpv81L2odRKLQvKttL-TSDJnaE6ypL2yNL8aXmikTE7ZPK9cgz42MMY_qby75ihKIJU9s-GMONvqOyFwyk2z_A_mB9W3LfS1GT4DYgOMzXuaQFueDK8V0W3QwZIjHvsWYe23M1stkl_uBv66dSaCGg0I1lgts8t4HLvC71e16jwVnRCtA"

有人能告诉我我的设置出了什么问题吗?任何帮助我都感激不尽。

PS:我的 api 映像是在 Spring boot 堆栈上构建的,其中 tomcat 是嵌入式 Web 服务器。

相关内容