【发布时间】:2021-10-31 19:21:56
【问题描述】:
您好,我在 docker 内的 keycloak 和 springBoot (jhipster) 有一些问题。
我希望我能让自己被理解
我想在本地启动我的所有组件,每个组件都在一个容器中。
我在 nginx 后面有一个角前端
image: ngnix-with-my-angular-project:latest
volumes:
- ./nginx/site.conf:/etc/nginx/conf.d/default.conf
ports:
- "8000:80"
在我的 ngnix conf 中,我有这样的代理通行证
location /oauth2 {
proxy_pass http://myprojectapp:8080/oauth2;
}
location /login {
proxy_pass http://myprojectapp:8080/login;
}
在我的 keycloak docker conf 中,我添加了这个 env 变量:
PROXY_ADDRESS_FORWARDING=true
在我的应用程序中,名为 myprojectapp springBoot (jhispter) 我有以下配置
myprojectapp:
.
.
.
SPRING_SECURITY_OAUTH2_CLIENT_PROVIDER_OIDC_ISSUER_URI=http://keycloak:9080/auth/realms/myproject
我的 Angular 项目在以下地址可用:http://localhost:8000/
我正在尝试通过 keycloak 进行连接
http://keycloak:9080/auth/realms/myproject/protocol/openid-connect/auth?response_type=code&client_id=web_app&scope=openid%20profile%20email&state=YYY&redirect_uri=http://myprojectapp:8080 /login/oauth2/code/oidc&nonce=XXX
我输入我的凭据,然后我被重定向到 myprojectapp 的 docker 的内部 url
http://myprojectapp:8080/login/oauth2/code/oidc?state=WWW&session_state=YYY&code=ZZZ
我不知道如何配置 redirect_uri 以重定向到我的 Angular 前端
redirect_uri=http://localhost:8000/login/oauth2/code/oidc
【问题讨论】:
-
Nginx 需要将
X-Forwarded*标头转发到应用程序,因此应用程序将知道反向代理。当然,应用程序必须能够处理该标头。例如。 tomgregory.com/…
标签: spring-boot docker spring-security keycloak jhipster