错误:Auth0 create-react-app中“需要域选项”

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

使用.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个回答
0
投票

注意您的.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。确保从命令行RESTART应用程序使.env更改生效。


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

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