HAProxy,带有x509的密钥斗篷

时间:2020-08-03 21:57:09

标签: keycloak spring-security-oauth2 haproxy x509 client-certificates

我有一个HAProxy作为我的具有x509身份验证的应用程序的反向代理。 HAProxy进行X509验证(基于客户端证书),并将证书添加回请求标头SSL_CLIENT_CERT。现在,我想使用Keycloak从证书中识别用户。我有doc中给出的Keycloak身份验证流程,而我的haproxy配置如下

frontend http-frontend
    bind *:8888
    bind *:8888 transparent ssl crt /etc/x509/https/haproxy.pem ca-file /etc/x509/https/myCA.pem verify required
    http-request redirect scheme https if !{ ssl_fc }
    http-request set-header SSL_CLIENT_CERT %[ssl_c_der,base64]
    default_backend app1

backend app1
    server server1 host.docker.internal:8443/auth/realms/ng/protocol/openid-connect/auth ssl verify none
  1. 要从HAProxy转发的Keycloak url应该是什么?
  2. CERT_CHAIN头是否为强制性的(如果是,如何获取它。ssl_c_der包含颁发者的服务器证书。我应该拆分它们吗?)
  3. 提取用户后,Keycloak将重定向到客户端中的url。如果是,如何在HAProxy中提及客户端名称?
  4. 该特定“客户端”的设置应该是什么? (oidc / public / standard-flow)
  5. 重定向后,应用程序将如何获得访问令牌?

我还尝试将请求从HAProxy转发到Web应用程序,并尝试通过授权代码流登录。但是Keycloak抛出错误可能是因为,自定义浏览器身份验证流程中只有x509 username form execution

0 个答案:

没有答案