WP REST API 的 JWT 身份验证:“找不到与 URL 和请求方法匹配的路由”
Posted
技术标签:
【中文标题】WP REST API 的 JWT 身份验证:“找不到与 URL 和请求方法匹配的路由”【英文标题】:JWT Authentication for WP REST API: "No route was found matching the URL and request method" 【发布时间】:2016-12-06 03:27:07 【问题描述】:我的 REST 运行良好,我可以从链接中获得结果:“172.18.52.78/bniforum451/wp-json/wp/v2/posts”和所有组合 REST 链接。
但是,当我调用链接:172.18.52.78/bniforum451/wp-json/jwt-auth/v1/token 时,我总是得到“找不到与 URL 和请求方法匹配的路由”。
即使当我调用 (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)谢谢
金马
我从“172.18.52.78”链接中删除了“http”,因为我还没有 10 个声望:D【问题讨论】:
在我的情况下,问题是我使用了 HTTP URL,但网络服务器被配置为将 HTTP 重定向到 HTTPS。将请求 URL 中的 HTTP 更改为 HTTPS 解决了问题。 【参考方案1】:试试看我制作的这个视频:https://youtu.be/Mp7T7x1oxDk
我认为您正在对 /bniforum451/wp-json/jwt-auth/v1/token
执行 GET 请求,而它应该是 POST。您还应该在请求正文中传递username
和password
。
/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"
,
【讨论】:
以上是关于WP REST API 的 JWT 身份验证:“找不到与 URL 和请求方法匹配的路由”的主要内容,如果未能解决你的问题,请参考以下文章
WP-API 的 JWT 身份验证 - 发布到 ACF 字段
如何更改 WP-API 的 JWT 身份验证的 JSON 响应?
带有 jwt 身份验证的 django rest api 要求 csrf 令牌