javascript - 错误: "domain option is required" in Auth0 create-react-app

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

在使用 .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]

最佳答案

注意您的 .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)导致了这个错误。

关于javascript - 错误: "domain option is required" in Auth0 create-react-app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61152775/

相关文章:

javascript - 拆分正则表达式数字

javascript - NodeJS - FormData 向服务器发送未定义的值

reactjs - React Table 中的水平滚动

javascript - 在 browserslist 中,拥有不同环境配置的意义何在?

scala - 为 NetBeans 设置 Scala - 错误

windows - 这些奇怪的环境变量是什么?

javascript - NodeJS - 将变量发送到客户端

javascript - 使用 Javascript Overlay 的 GWT RPC 或 Request Builder?

javascript - 锚定图像和 preventDefault()

javascript - Firebase - onAuthStateChanged 2 秒延迟。添加加载文本/微调器