在 wp-engine 中调用 WP-API 的 JWT 身份验证的登录 api 时出现意外错误

问题描述 投票:0回答:1

我在WordPress中使用react-wp-theme在wp-engine中运行react应用程序 我正在尝试调用 WP-API 登录 api 的 JWT 身份验证来对用户进行身份验证,它给出成功 200 响应,但在响应数据中,我获取的是我的 index.php 文件内容而不是令牌

当我在 wp-engine 中升级代码时,它在本地 WordPress(在 xampp 上运行)中运行没有任何问题,我遇到了这个问题

我已遵循插件文档中提到的每个步骤

RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

define('JWT_AUTH_SECRET_KEY', 'your-top-secret-key');

define('JWT_AUTH_CORS_ENABLE', true);

我收到错误:

<!DOCTYPE html>
<html lang="en">

<head>
    <script
        src='/wp-content/themes/wpn-react-wp-theme/react-src/node_modules/@devloco/create- 
 react-wptheme-utils/wpThemeClient.js'>
    </script>

    <script
        src='/wp-content/themes/wpn-react-wp-theme/react-src/node_modules/@devloco/create-react-wptheme-utils/wpThemeErrorOverlay.js'>
    </script>

    <script>
        wpThemeClient.start("ws", "127.0.0.1", "8090"); 
    </script>

    <meta charset="utf-8" />
    <link rel="shortcut icon" href="/wp-content/themes/wpn-react-wp-theme/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="theme-color" content="#000000" />
    <meta name="description" content="Web site created using create-react-wptheme" />
    <link rel="apple-touch-icon" href="/wp-content/themes/wpn-react-wp-theme/logo192.png" />

    <link rel="manifest" href="/wp-content/themes/wpn-react-wp-theme/manifest.json" />
    <link rel="stylesheet" 
 href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
    integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" 
crossorigin="anonymous" />
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700;800;900&display=swap"
    
    <title>Word Prev</title>
    <link href="/wp-content/themes/wpn-react-wp-theme/static/css/main.chunk.css? 
 76e963b2483ab6ad865c" rel="stylesheet">
</head>

<body>
    <noscript>
        You need to enable JavaScript to run this app.
    </noscript>
    <div id="root"></div>

    <script src="/wp-content/themes/wpn-react-wp-theme/static/js/bundle.js?76e963b2483ab6ad865c"></script>
    <script src="/wp-content/themes/wpn-react-wp-theme/static/js/0.chunk.js?76e963b2483ab6ad865c"></script>
    <script src="/wp-content/themes/wpn-react-wp-theme/static/js/main.chunk.js?76e963b2483ab6ad865c"></script>
</body>

</html>

来自react-wp-theme的API调用

axios.post('/wp-json/jwt-auth/v1/token', {
  username: username,
  password: password,
})
.then((response) => {
  const token = response.data.token; 
  localStorage.setItem('token', token); 
})
.catch((error) => {
  console.error(error);
});
reactjs wordpress wordpress-rest-api wpengine
1个回答
0
投票

Wpengine 不再支持 .htacess 中的配置。

与 WPengine 支持人员交谈,他们将指导您创建 Web 规则,以便 jwt 在 WPengine 中工作。

© www.soinside.com 2019 - 2024. All rights reserved.