Casdoor是一个专注于OAuth 2.0、OIDC和SAML的身份验证/单点登录(SSO)平台,由国内开发者采用Go语言开发,具备UI优先的理念,适用于大陆网络环境,安装简便,仅需Go和NodeJS环境支持,无需Docker。Casdoor的核心概念包括组织、用户、应用和提供商。组织承载用户和应用,一个用户只能隶属于一个组织,但可以登录到自己组织的多个应用中;提供商代表身份验证方式,包括电子邮件验证、短信验证、OAuth验证等。在选择Casdoor作为身份认证管理系统时,考虑到它对大陆网络环境的良好支持、颜值友好的UI优先理念以及简单的安装流程,使得它成为理想选择。手动部署Casdoor需要准备Go和NodeJS环境以及数据库,支持MySQL、MariaDB、PostgreSQL、SQL Server、Oracle、SQLite 3和TiDB。部署过程包括克隆Casdoor仓库、配置app.conf文件以指定数据库信息、编译并运行Casdoor的前端和后端服务,以及设置反向代理以优化生产环境中的流量处理。在配置完成后,访问http://localhost:8000/即可访问Casdoor(默认管理员用户名和密码为admin和123)。Casdoor的登录界面和主界面提供了直观的用户体验。通过使用邮箱验证的方式在Casdoor创建一个Email Provider,以实现通过OAuth2.0协议登录WordPress。OAuth2.0是一个开放的用户验证标准,通过特定流程实现用户账号与第三方网站的验证。流程包括用户登录、重定向至授权地址,通过授权地址接收code和state参数,然后向OAuth客户端发送POST请求以获取access_token,access_token可用于获取用户信息,当access_token到期时,使用refresh_token申请新的access_token。通过携带access_token向OAuth 2.0服务端请求用户信息实现登录流程。在Casdoor中创建Email Provider和OAuth2.0应用,配置好重定向URL、Authorize Endpoint、Access Token Endpoint和Get User Info Endpoint,然后在WordPress中安装miniOrange OAuth Single Sign On插件,并将其配置与Casdoor应用关联。设置好插件后,用户即可通过Casdoor登录WordPress。此方法同样适用于通过支持QQ、微信等OAuth服务提供更多的登录选项。通过Casdoor,可以统一管理用户,不仅限于WordPress,还能集成其他服务,实现一致的用户管理体验。尽管miniOrange插件功能便利,但其免费版提供有限的功能,如不支持自定义Role映射和仅能创建一个应用,对于更复杂的需求可能需要寻求更高级的功能。