访问自省端点,失败:连接被拒绝 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的主要内容,如果未能解决你的问题,请参考以下文章

服务端点未能侦听 URI“0”,因为访问被拒绝 [关闭]

S3 端点访问被拒绝错误

访问被拒绝导致许可证存储的创建失败,请使用提升的权限

cookie-cutter django nginx connect() 在连接到上游时失败(111:连接被拒绝),

Nginx + Docker Compose-连接到上游时connect()失败(111:连接被拒绝)

Hadoop错误-“连接被拒绝”?