访问自省端点,失败:连接被拒绝 kong,keycload,OIDC
Posted
技术标签:
【中文标题】访问自省端点,失败:连接被拒绝 kong,keycload,OIDC【英文标题】:Accessing introspect endpoint , failed:connection refused kong, keycload,OIDC 【发布时间】:2021-02-02 01:53:26 【问题描述】:当我尝试通过我在 kong 上创建的代理访问端点时,我收到来自服务器的连接被拒绝响应。 我用来访问代理的 curl 命令 -
curl --location --request GET 'http://localhost:8000/listProducts/'
--header 'Accept: application/json'
--header 'Authorization: Bearer token'
要获取令牌,我使用以下 curl -
curl --location --request POST 'http://localhost:8180/auth/realms/experimental/protocol/openid-connect/token'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'username=username'
--data-urlencode 'password=password'
--data-urlencode 'grant_type=password'
--data-urlencode 'client_id=myapp'
Client协议为open-connect,访问类型为public。
我在 Oidc 插件中所做的配置:
consumer:
response type:
code:
introspection endpoint: http://MyHostIP:8180/auth/realms/experimental/protocol/openid-connect/token/introspect
filters:
bearer only: yes
ssl verify: no
session secret:
introspection endpoint auth method:
realm: experimental
redirect after logout uri: /
scope: openid
token endpoint auth method:
client_secret_post:
logout path: /logout
client id: kong
discovery: https://MyHostIP:8180/auth/realms/master/.well-known/openid-configuration
client secret: myClientSecret
recovery page path:
redirect uri path:
提前致谢
【问题讨论】:
【参考方案1】:你是如何部署 Keycloak 的?我看到了 2 点:
您的发现端点是 https 您的自省端点只是 http另外,如果您使用 Docker 部署 Kong + Keycloak,请转到您的主机文件并使用 MyHostIP 添加一个带有本地 IP 的新行。
sudo nano /etc/hosts
然后添加
your.ip.address. keycloak-host
更新 docker-compose 文件
kong:
build:
context: kong/
dockerfile: Dockerfile
extra_hosts:
- "Keycloak-host:your.ip.address"
现在使用 keycloak-host 配置您的自省和发现 url
例如:http://keycloak-host:8180/auth/realms/master/protocol/openid-connect/token/introspect
如果您需要关于 Kong + openID + Keycloak 的功能示例,请查看this repo。
【讨论】:
以上是关于访问自省端点,失败:连接被拒绝 kong,keycload,OIDC的主要内容,如果未能解决你的问题,请参考以下文章
cookie-cutter django nginx connect() 在连接到上游时失败(111:连接被拒绝),