WP REST API的JWT身份验证:"未找到与URL和请求方法匹配的路由"

时间:2016-08-01 06:28:06

标签: php wordpress plugins jwt

我的REST工作得非常好,我可以从链接中得到结果:" 172.18.52.78/bniforum451/wp-json/wp/v2/posts"和所有组合REST链接。

但是,我总是得到"没有找到与网址和请求方法匹配的路由"当我打电话给链接:172.18.52.78/bniforum451/wp-json/jwt-auth/v1/token。

当我打电话时(172.18.52.78/bniforum451/wp-json/jwt-auth/v1/)我可以得到结果:



{
  "namespace": "jwt-auth/v1",
  "routes": {
    "/jwt-auth/v1": {
      "namespace": "jwt-auth/v1",
      "methods": [
        "GET"
      ],
      "endpoints": [
        {
          "methods": [
            "GET"
          ],
          "args": {
            "namespace": {
              "required": false,
              "default": "jwt-auth/v1"
            },
            "context": {
              "required": false,
              "default": "view"
            }
          }
        }
      ],
      "_links": {
        "self": "172.18.52.78/bniforum451/wp-json/jwt-auth/v1"
      }
    },
    "/jwt-auth/v1/token": {
      "namespace": "jwt-auth/v1",
      "methods": [
        "POST"
      ],
      "endpoints": [
        {
          "methods": [
            "POST"
          ],
          "args": []
        }
      ],
      "_links": {
        "self": "172.18.52.78/bniforum451/wp-json/jwt-auth/v1/token"
      }
    },
    "/jwt-auth/v1/token/validate": {
      "namespace": "jwt-auth/v1",
      "methods": [
        "POST"
      ],
      "endpoints": [
        {
          "methods": [
            "POST"
          ],
          "args": []
        }
      ],
      "_links": {
        "self": "172.18.52.78/bniforum451/wp-json/jwt-auth/v1/token/validate"
      }
    }
  },
  "_links": {
    "up": [
      {
        "href": "172.18.52.78/bniforum451/wp-json/"
      }
    ]
  }
}




解决问题的最佳做法是什么?

我正在使用:

  • Wordpress版本4.5.3
  • XAMPP v3.2.1(本地服务器Windows 7)
  • PHP版本5.6.14
  • WP REST API(版本2.0-beta13)
  • WP-API的JWT身份验证(版本1.2.0)

由于

格玛

  • 我删除" http"来自" 172.18.52.78"链接,因为我还没有10个声誉:D

1 个答案:

答案 0 :(得分:0)

尝试观看我制作的视频:https://youtu.be/Mp7T7x1oxDk

我认为您应该在/bniforum451/wp-json/jwt-auth/v1/token上执行GET请求时应该发布POST。您还应该在请求正文中传递usernamepassword

/bniforum451/wp-json/jwt-auth/v1/的工作原因是因为它是为了响应GET请求而不是POST。它只为您提供API信息。

如果您查看成功通话后的输出,它会告诉您/token端点接受的方法。

"/jwt-auth/v1/token": {
  "namespace": "jwt-auth/v1",
  "methods": [
    "POST"
  ],
  "endpoints": [
    {
      "methods": [
        "POST"
      ],
      "args": []
    }
  ],
  "_links": {
    "self": "172.18.52.78/bniforum451/wp-json/jwt-auth/v1/token"
  }
},