【问题标题】:Error: "domain option is required" in Auth0 create-react-app错误:Auth0 create-react-app 中的“需要域选项”
【发布时间】:2020-07-23 22:32:40
【问题描述】:

在使用 .env 文件编写具有 Auth0 提供的身份验证的 create-react-app 应用程序时,我收到“需要域选项”错误。是什么原因造成的,我该如何解决?

(从代码导入语句中可以看出,我使用的是 react-use-auth npm 模块。)

注意:这个问题的答案可以在其他 SO 问题中找到,但它们没有引用这个错误。希望这个问题可以帮助有此错误的人更快地找到解决方案。我正在发布我找到的解决方案,但如果此错误有其他原因,最好也记录这些原因。

index.js 文件:

import React from 'react';
import ReactDOM from 'react-dom';
import { withRouter } from "react-router-dom";
import { AuthProvider } from "react-use-auth";
import App from './App';

ReactDOM.render(
  <React.StrictMode>
  <AuthProvider
    navigate={props.history.push}
    auth0_domain={process.env.REACT_APP_AUTH0_DOMAIN}
    auth0_client_id={process.env.REACT_APP_AUTH0_CLIENT_ID}>
    <App />
    </AuthProvider>
  </React.StrictMode>,
  document.getElementById('root')
);

export default withRouter(App);

.env 文件(在 create-react-app 创建的根目录中):

REACT_APP_AUTH0_DOMAIN=[auth0_domain_name]
REACT_APP_AUTH0_CLIENT_ID=[auth0_client_id]

【问题讨论】:

    标签: javascript reactjs environment-variables create-react-app auth0


    【解决方案1】:

    注意您的 .env 和环境变量!

    正如here 所记录的,“域选项是必需的错误”可能是由环境变量问题引起的。其实替换

    {process.env.REACT_APP_AUTH0_DOMAIN}{process.env.REACT_APP_AUTH0_CLIENT_ID}

    使用实际值会使错误消失。

    在使用 .env 文件时,请注意以下几点(在 SO answer 中有很好的解释):


    1. create-react-app 有自己的机制来访问 .env 文件(无需使用 dotenv)。

    2.确保环境变量具有前缀 REACT_APP_。

    3. 确保 .env 文件位于应用的根目录中(由 create-react-app 创建时)。

    4.确保从命令行重新启动应用程序以使 .env 更改生效。


    所有这些都让我绊倒了,但最近它没有重新启动 (#4) 导致了这个错误。

    【讨论】:

      猜你喜欢
      • 2021-12-02
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 2019-06-14
      • 2021-07-11
      • 2019-04-10
      相关资源
      最近更新 更多