APISIX
Casdoor 可以使用 OIDC 协议链接到 APISIX,这份文档将向您展示如何处理相关问题。
以下是配置中的一些名字:
CASDOOR_HOSTNAME
: 部署了 Casdoor 服务器的域名或IP。
APISIX_HOSTNAME
: 部署APISIX的域名或 IP
步骤1。 部署Casdoor和APISIX
在成功部署后,您需要确保:
- 可以登录并正常使用Casdoor。
- 将Casdoor的
origin
值 (conf/app.conf) 设置为CASDOOR_HOSTNAME
。
第2步: 配置Casdoor应用
- 创建或使用现有的 Casdoor 应用程序。
- 添加一个重定向网址:
http://APISIX_HOSTNAME/REDIRECTWHATYOWANT
并更改REDIRECTWHATYOWANT
到你需要的重定向网址上。 - 选择 “JWT-Empty” 作为令牌格式选项
- 添加您想要的提供商并补充其他设置。
这时,您可以在应用程序设置页面获得两个值: Client ID
和 Client secret
,就像上面的镜像那样。 我们将在下一步骤中使用它们。
打开您最喜欢的浏览器并访问: http://`CASDOOR_HOSTNAME`/.well known / openid-configur, 您将看到Casxoor配置的OIDC。
步骤3. Configure APISIX
APISIX 拥有官方 OIDC 支持,正在使用 lua-resety-openidc 实现。
您可以根据APISX OIDC 文档定制设置,使用以下路由设置:
#Use your own X-Api-Key
$ curl -XPOST APISIX_HOSTNAME/apisix/admin/routes -H "X-Api-Key: edd1c9f034335f136f87ad84b625c8f1" -d '{
"uri": "/get",
"name": "apisix_casdoor_test",
"plugins": {
"openid-connect": {
"client_id": "Client ID",
"client_secret": "Client secret",
"discovery": "http://CASDOOR_HOSTNAME/.well-known/openid-configuration",
"introspection_endpoint_auth_method": "client_secret_basic",
"logout_path": "/logout",
"realm": "master",
"redirect_uri": "http://APISIX_HOSTNAME/REDIRECTWHATYOUWANT",
"bearer_only": false,
"set_id_token_header": false,
"access_token_in_authorization_header": true,
"set_access_token_header": true,
"set_userinfo_header": false,
"realm": "master"
}
},
"upstream": {
"type": "roundrobin",
"nodes": {
"httpbin.org:80": 1
}
}
}'
现在,请访问 http://APISIX_HOSTNAME/get
, 浏览器会将您重定向到Casdoor登录页面, 并且在登录成功后,您会看到我们已经向 httpbin.org 发出了请求。