如何获取反应风暴路径以添加访问控制允许源标头



我遇到了类似的问题:

401 后请求错误 风暴路径快速 + 反应 + 节点 + 吞噬

具体来说,当我尝试从 react-stormpath 中使用 LoginForm 或 RegisterForm 时,我得到:

XMLHttpRequest cannot load https://api.stormpath.com/v1/applications/[ID]/oauth/token. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 401.

我已经在 Stormpath 控制台中向授权源 URI 添加了 http://localhost:3000,但这无济于事。 我已经使用 Chrome 检查了请求,实际上,没有返回 ACAO 标头。

与上面链接的其他问题不同,我没有做任何定制。 我的登录页面看起来像这样:

import React from 'react';
import { LoginForm } from 'react-stormpath';
export default class Login extends React.Component {
  render() {
    return (
      <LoginForm />
    );
  }
}

我什至不知道如何调试这个问题,因为我不知道 react-stormpath 中幕后发生了什么。

编辑:添加反应风暴路径配置:

ReactStormpath.init({
  endpoints: {
    baseUri: 'https://api.stormpath.com/v1/applications/[ID]'
  }
});

问题出在您的ReactStormpath.init 中。您的 React 应用程序无法直接连接到api.stormpath.com,因为这需要使用安全的 API 密钥。您的baseUri应该是以下之一:

  • 风暴路径应用程序的客户端 API URL,如 https://foo-bar.apps.stormpath.io .这是一个单独的 API 域,允许不受信任的客户端(如 React)连接。文档的这一部分是一个更好的示例。
  • 您的 Web 服务器,例如 http://localhost:3000 - 如果您使用的是类似 express-stormpath 的东西(我无法完全从您的问题中分辨出来)

免责声明:我在风暴路径工作。

最新更新