Auth0 isAuthenticated is always false



我正在使用React,并且我一直在遵循本教程中关于为用户身份验证设置Auth0的内容。

我已经成功地设置了登录和注销按钮,并能够将我的网络应用程序连接到Auth0通用登录页面。到目前为止,我已经使用gmail和基于公司的电子邮件帐户进行了注册,两者都已存储并注册在我的Auth0仪表板上。但由于某种原因,无论何时登录,我都从未真正通过身份验证,而且isAuthenticated总是错误的。

这是我从教程中添加的代码:

我的index.js:

import React from 'react';
import ReactDOM from 'react-dom';
import * as serviceWorker from './serviceWorker';
import { BrowserRouter as Router } from 'react-router-dom';
import App from './App';
import Auth0ProviderWithHistory from './components/Authentication/Auth0ProviderWithHistory';
const domain = process.env.REACT_APP_AUTH0_DOMAIN;
const clientId = process.env.REACT_APP_AUTH0_CLIENT_ID;
ReactDOM.render(
<Router>
<Auth0ProviderWithHistory>
<App />
</Auth0ProviderWithHistory>
</Router>, document.getElementById('root'));
serviceWorker.unregister();

Auth0ProviderWithHistory组件:

import React from "react";
import { useHistory } from "react-router-dom";
import { Auth0Provider } from "@auth0/auth0-react";
const Auth0ProviderWithHistory = ({ children }) => {
const domain = process.env.REACT_APP_AUTH0_DOMAIN;
const clientId = process.env.REACT_APP_AUTH0_CLIENT_ID;
const history = useHistory();
const onRedirectCallback = (appState) => {
history.push(appState?.returnTo || window.location.pathname);
};
return (
<Auth0Provider
domain={domain}
clientId={clientId}
redirectUri={window.location.origin}
onRedirectCallback={onRedirectCallback}
>
{children}
</Auth0Provider>
);
};
export default Auth0ProviderWithHistory;

还有我的App.js:

import React, { useState } from "react";
import { Route, Switch, Redirect } from "react-router-dom";
import Home from "./views/Home/Home";
import Authenticate from "./views/Authenticate/Authenticate";
const App = () => {
return (
<div>
<Switch>
<Route exact path="/Home" render={() => {
return (
<Home />
);}}
/>
<Route exact path="/Authenticate" render={() => {
return (
<Authenticate />
);}}
/>
</Switch>
</div>
);
};
export default App;

如果有任何帮助,我将不胜感激!

我也遇到过类似的事情。一次偶然的机会,我进入了Auth0设置,切换到了更新的登录表单界面(Universal?(,然后突然一切都正常了。

最新更新