APISIX

Casdoor 可以使用 OIDC 协议链接到 APISIX,这份文档将向您展示如何处理相关问题。

以下是配置中的一些名字:

CASDOOR_HOSTNAME: 部署了 Casdoor 服务器的域名或IP。

APISIX_HOSTNAME: 部署APISIX的域名或 IP

步骤1。 部署Casdoor和APISIX

首先,应该部署 Casdoor and APISIX

在成功部署后,您需要确保:

  1. 可以登录并正常使用Casdoor。
  2. 将Casdoor的 origin 值 (conf/app.conf) 设置为 CASDOOR_HOSTNAMECasdoor conf

第2步: 配置Casdoor应用

  1. 创建或使用现有的 Casdoor 应用程序。
  2. 添加一个重定向网址: http://APISIX_HOSTNAME/REDIRECTWHATYOWANT并更改 REDIRECTWHATYOWANT 到你需要的重定向网址上。
  3. 选择 “JWT-Empty” 作为令牌格式选项
  4. 添加您想要的提供商并补充其他设置。

应用程序设置 这时,您可以在应用程序设置页面获得两个值: Client IDClient secret ,就像上面的镜像那样。 我们将在下一步骤中使用它们。

打开您最喜欢的浏览器并访问: http://`CASDOOR_HOSTNAME`/.well known / openid-configur, 您将看到Casxoor配置的OIDC。

步骤3. Configure APISIX

APISIX 拥有官方 OIDC 支持,正在使用 lua-resety-openidc 实现。

您可以根据APISX OIDC 文档定制设置,使用以下路由设置:

  1. #Use your own X-Api-Key
  2. $ curl -XPOST APISIX_HOSTNAME/apisix/admin/routes -H "X-Api-Key: edd1c9f034335f136f87ad84b625c8f1" -d '{
  3. "uri": "/get",
  4. "name": "apisix_casdoor_test",
  5. "plugins": {
  6. "openid-connect": {
  7. "client_id": "Client ID",
  8. "client_secret": "Client secret",
  9. "discovery": "http://CASDOOR_HOSTNAME/.well-known/openid-configuration",
  10. "introspection_endpoint_auth_method": "client_secret_basic",
  11. "logout_path": "/logout",
  12. "realm": "master",
  13. "redirect_uri": "http://APISIX_HOSTNAME/REDIRECTWHATYOUWANT",
  14. "bearer_only": false,
  15. "set_id_token_header": false,
  16. "access_token_in_authorization_header": true,
  17. "set_access_token_header": true,
  18. "set_userinfo_header": false,
  19. "realm": "master"
  20. }
  21. },
  22. "upstream": {
  23. "type": "roundrobin",
  24. "nodes": {
  25. "httpbin.org:80": 1
  26. }
  27. }
  28. }'

现在,请访问 http://APISIX_HOSTNAME/get, 浏览器会将您重定向到Casdoor登录页面, 并且在登录成功后,您会看到我们已经向 httpbin.org 发出了请求。 APISIX_Result