使用Auth0保护WP REST API,实现OAuth2认证

安装: 24

依赖项: 0

建议者: 0

安全: 0

星标: 5

关注者: 4

分支: 1

开放问题: 2

类型:wordpress-muplugin

v4.0.0 2023-10-16 16:27 UTC

This package is auto-updated.

Last update: 2024-09-07 07:12:09 UTC


README

License Total Downloads

本仓库包含一个工作的MU插件,该插件可以接收并验证从Auth0获取的访问令牌。关于如何实现以及使用的值,请查看此处的文章

使用Auth0保护WordPress REST API,实现OAuth2认证

安装

首先,安装Login by Auth0插件,然后添加Auth0凭据到wp-config.php文件中,该文件位于wp-content/mu-plugins中,或另一个在加载此插件之前会加载的位置。

// Auth0 credentials
define( 'AUTH0_API_AUDIENCE', 'API identifier for the WP REST API' );
define( 'AUTH0_API_SIGNING_SECRET', 'API signing secret from Auth0' );
define( 'AUTH0_API_DEBUG', 'Set to `true` to add debugging log entries' );

使用Composer安装

安装此包

composer require joshcanhelp/wp-rest-api-auth0

add_action可用时,在某个地方要求Composer自动加载器,如在wp-content/mu-plugins中。

手动安装

要使用Composer以外的手动方式安装,请下载最新版本的ZIP文件,并通过管理界面上传。请注意,此插件不会自动更新;更新需要通过删除并重新添加(确保您的站点处于维护模式)或直接通过FTP客户端(不推荐)进行。

使用Docker进行测试

您可以使用此Gist,通过Docker在本地运行并测试。

故障排除

尝试将AUTH0_API_DEBUG设置为true,并观察您的WP错误日志以获取有关失败的信息。

如果API请求不起作用,Apache可能没有将授权头传递给PHP。尝试将此行(或类似方法)添加到.htaccess

SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0

此外,请确保您的WP API端点不遵循此模式,其中在/wp-json/之前需要/index.php/

Example:
https://<your.site>/index.php/wp-json/

请参阅此解决方案以帮助解决此index.php问题。