axepress / wp-graphql-headless-login
一款为 WPGraphQL 提供无头登录和认证的 WordPress 插件
0.3.1
2024-09-07 11:55 UTC
Requires
- php: >=7.4
- axepress/wp-graphql-plugin-boilerplate: ^0.1.0
- firebase/php-jwt: ^6.3
- league/oauth2-facebook: ^2.2
- league/oauth2-github: ^3.0
- league/oauth2-google: ^4.0
- league/oauth2-instagram: ^3.1
- league/oauth2-linkedin: ^5.1
Requires (Dev)
- axepress/wp-graphql-cs: ^2.0.0-beta
- axepress/wp-graphql-stubs: ^1.14.0
- codeception/lib-innerbrowser: ^1.0
- codeception/module-asserts: ^1.0
- codeception/module-cli: ^1.0
- codeception/module-db: ^1.0
- codeception/module-filesystem: ^1.0
- codeception/module-phpbrowser: ^1.0
- codeception/module-rest: ^2.0
- codeception/module-webdriver: ^1.0
- codeception/phpunit-wrapper: ^9.0
- codeception/util-universalframework: ^1.0
- lucatume/wp-browser: <3.5
- mockery/mockery: ^1.5
- php-coveralls/php-coveralls: ^2.5
- php-stubs/woocommerce-stubs: ^9.0
- phpcompatibility/php-compatibility: dev-develop as 9.99.99
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^1.2
- szepeviktor/phpstan-wordpress: ^1.1.5
- wp-cli/wp-cli-bundle: ^2.8.1
- wp-graphql/wp-graphql-testcase: ^3.0.1
README
WPGraphQL 的无头登录
一款为 WPGraphQL 提供无头登录和认证的 WordPress 插件,支持传统密码、OAuth2/OpenID Connect、JWT 等。
描述
WPGraphQL 的无头登录是一个灵活且可扩展的插件,允许无头 WordPress 网站通过多种认证方式使用 WPGraphQL 登录和认证用户,包括传统的 WordPress 凭证(用户名/密码)、OAuth 2.0 / OpenID Connect、JSON Web Tokens (JWT) 等。
此插件受 WPGraphQL JWT Authentication 启发,旨在成为更强大、更全面、更灵活的认证解决方案,以替代 Headless WP。
系统要求
- PHP 7.4-8.2+
- WordPress 6.0+
- WPGraphQL 1.14.0+
快速安装
- 安装并激活 WPGraphQL。
- 下载最新的 发布版本
.zip
文件,将其上传到您的 WordPress 安装中,并激活插件。 - 在 GraphQL > 设置 > 无头登录中启用并配置您想要使用的认证提供者。
使用 Composer
composer require axepress/wp-graphql-headless-login
更新和版本控制
在达到 v1.0 版本之前,我们使用的是 修改版 的 SemVer,其中
- v0.x: "主"版本。这些版本引入了新功能,并且可能包含对 PHP API 或 GraphQL 模式的破坏性更改
- v0.x.y: "次"版本。这些版本引入了新功能和改进,并修复了错误。它们不包含破坏性更改。
- v0.x.y.z: "补丁"版本。这些版本仅用于解决前一个版本的问题。
开发和支持
Headless Login for WPGraphQL 的开发由 AxePress Development 提供。社区贡献是 欢迎的 并 鼓励的。
免费提供基本支持,包括在此 存储库 和 WPGraphQL Slack 中。
对于赞助者,我们提供优先支持和定制开发。
支持的功能
以下功能目前得到支持
- 使用 WordPress 用户名和密码 进行认证。
- 从前端验证并通过OAuth 2.0 / OpenID Connect提供商响应。
支持的服务提供商(开箱即用)- GitHub
- OAuth2 - 通用:任何其他OAuth 2.0提供商。
- SAML身份验证和更多即将推出!
- 使用特殊的站点令牌来支持WordPress与任何外部认证的用户身份(例如Auth.js)进行认证。
- 通过扩展
ProviderConfig
类添加您自己的身份验证提供商。 - 使用HTTP授权头使用JWT令牌进行认证。
- 设置CORS头以允许或限制对GraphQL端点的访问。
- 生成短期
authToken
和长期refreshToken
,以便在您的无头应用程序中进行无缝重新认证。 - 链接用户帐户到身份验证提供者的资源所有者,允许用户使用多个提供者进行认证。
- 查询启用的
loginClient
授权URL,以在您的前端登录按钮中使用。 - 提供广泛的WordPress操作和过滤器,以自定义插件的行为。
- 通过在GraphQL或WordPress后端个人资料页面吊销或刷新他们的令牌来注销用户的所有会话。
- 使用WPGraphQL for WooCommerce管理WooCommerce会话。
- 等等!
用法
入门(🎯 您在这里!)
核心概念
参考
食谱
测试
- 更新您的
.env
文件以符合测试环境规格。 - 运行
composer install
以获取开发依赖项。 - 运行
composer install-test-env
以创建测试环境。 - 使用Codeception运行您的测试套件。例如,运行
vendor/bin/codecept run wpunit
将运行所有WPUnit测试。