【问题标题】:JWT Authentication for WP-API - POST TO ACF FieldsWP-API 的 JWT 身份验证 - 发布到 ACF 字段
【发布时间】:2021-10-08 02:30:36
【问题描述】:

我正在尝试通过 JWT 身份验证为 WP-API 插件制作一个 Auth。我正在尝试遵循本教程 - 步骤,在此链接中: https://firxworx.com/blog/wordpress/using-the-wordpress-rest-api-with-jwt-authentication/

因此,我在我的 functions.php 文件中创建了一个函数,在我的子主题中,并在我创建的自定义页面模板的标题中调用此函数,在 get_header(); 之前功能所以,我现在的代码是这样的:

function getToken() {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,'https://www.example.com/wp-json/jwt-auth/v1/token');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, 'username=admin&password=password');
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/x-www-form-urlencoded',
    "cache-control: no-cache",
));
    $server_output = curl_exec($ch);        

    $token_result = json_decode($server_output);
    if(isset($token_result->token)) {
        return $token_result->token;
    }
    else {
        return $token_result->message;
    }
}

但是,仍然出现此错误:
在 WordPress 上获取 JWT 令牌以进行 API 集成的响应无效

我想进行此 API 调用,以验证用户,然后再继续执行我的脚本。如果没有这个验证,PHP 应该会停止执行。

执行此 API 调用后,我想在某些自定义帖子类型中拥有的一些高级自定义字段(ACF Pro 插件)中进行 POST..但这是另一个问题..

任何建议或任何其他解决方案,可能会有所帮助,请告诉我

*已编辑

发现了一些东西.. 因为 Wordfence - 验证码我无法获得令牌。它告诉我通过发送的电子邮件进行验证。因此,wordfence 说:过滤器“wordfence_ls_require_captcha”可用于在您选择的情况下禁用 CAPTCHA。这对于包含 REST 端点和不需要验证码的身份验证的插件可能很有用。您的过滤器应在必要时返回 false 以绕过 CAPTCHA 要求,否则在需要 CAPTCHA 时返回 true”。我如何使用此过滤器以及在哪里使用?如何像插件建议的那样在此过滤器中返回 false?

这里也有同样的问题:
https://wordpress.org/support/topic/recaptcha-and-rest-api/
但没有发布解决方案

任何人,如何禁用通过 Wordfence 发送电子邮件的验证?因为这是问题

【问题讨论】:

    标签: wordpress advanced-custom-fields wordpress-rest-api


    【解决方案1】:

    终于,我得到了这个工作!
    感谢这篇文章
    How to disable auth verification email send, from Wordfence?

    和@mircobabini 帮助。

    我在我的子主题的functions.php文件中添加了过滤器,如下所示:

    add_filter( 'wordfence_ls_require_captcha', '__return_false' );   
    

    因此,通过 Wordfence 登录的验证电子邮件不再发送,我可以继续执行我的代码。

    *我已经编辑了我的getToken() 函数,因为其中有一些错误!

    【讨论】:

      猜你喜欢
      • 2016-03-24
      • 2022-11-26
      • 2016-10-06
      • 2016-04-24
      • 2019-09-22
      • 1970-01-01
      • 2017-07-30
      • 2019-02-14
      • 2021-02-16
      相关资源
      最近更新 更多