Heim  >  Fragen und Antworten  >  Hauptteil

Auth0-Anmelde- und Abmeldeprofile funktionieren nicht. Typoskript reagieren

<p>Ich habe eine Frage zu Auth0. Anmeldung. und abmelden. Verwenden von Reaktionstyposkript. </p> <p>Dies ist in Index.tsx. </p> <pre class="brush:php;toolbar:false;">root.render( <Auth0Provider domain="somecode.us.auth0.com" clientId="somecode" AuthorizationParams={{ Redirect_uri: window.location.origin }} > <React.StrictMode> <Provider store={store}> <CssBaseline /> <App /> </Anbieter> </React.StrictMode> </Auth0Provider> );</pre> <p>In der Authentifizierungskonfiguration ist ein Teil des Codes angegeben. </p> <p>Jetzt habe ich eine Schaltfläche zum Anmelden oder Abmelden. </p> <pre class="brush:php;toolbar:false;">const AuthButton = () => const { isAuthenticated, loginWithRedirect, logout } = useAuth0(); const handleLogin = () => loginWithRedirect(); }; const handleLogout = () => logout({ logoutParams: { returnTo: window.location.origin } }); }; zurückkehren ( <-Taste Stil={{ Farbe weiß', Hintergrundfarbe: '#142952', marginRight: '4rem', Schriftartenfamilie: 'Consolas', Grenze: 'keine', borderRadius: '3px', Breite: '110px', Höhe: '40px' }} onClick={isAuthenticated ? handleLogout : handleLogin} > {isAuthenticated ? 'Logout' : 'Login'} </button> ); }; Standard-AuthButton exportieren;</pre> <p>Auch. Ich rufe Benutzerinformationen zur Anzeige ab. </p> <pre class="brush:php;toolbar:false;">const Profile = () => const { user, isAuthenticated, getAccessTokenSilently } = useAuth0(); const [accessToken, setAccessToken] = useState(''); useEffect(() => { const getAccessToken = async () => versuchen { const token = Warten auf getAccessTokenSilently(); setAccessToken(token); } Catch (Fehler) { console.error(error); } }; if (isAuthenticated) { Zugriffstoken erhalten(); console.log("authentifiziert") } }, [isAuthenticated, getAccessTokenSilently]); if (!isAuthenticated) { zurück <div>Bitte melden Sie sich an, um Ihr Profil anzuzeigen.</div>; } zurückkehren ( <div> {user?.picture && <img src={user.picture} alt="Profilbild" )} <h2>Hallo {Benutzer?.Name}</h2> <p>E-Mail: {user?.email}</p> <p>Anmeldemethode: {user?.sub?.split('|')[0]}</p> <p>Zugriffstoken: {accessToken}</p> </div> ); }; Standardprofil exportieren;</pre> <h1><strong>Hier ist mein Problem</strong>: Nachdem ich mich mit dem Auth0-Protokoll angemeldet habe, ändert sich die Schaltfläche <strong>Anmelden und Abmelden nicht</strong>. Erste. Es öffnet sich und geht zum Auth0-Dialogfeld. Jedoch. Nachdem ich mich mit meinem Google-Konto angemeldet habe. Dann steht auf dem Button immer noch „Anmelden“. <strong>Das bedeutet, dass es nie zu einer Anmeldung kommt</strong>. Ich weiß wirklich nicht, was ich tun soll. Hier sind die Auth0-Konfigurationseinstellungen, die ich habe. </h1> <p>Wie oben erklärt</p>
P粉349222772P粉349222772384 Tage vor382

Antworte allen(1)Ich werde antworten

  • P粉832490510

    P粉8324905102023-09-04 00:04:36

    我通过使用loginWithPopup而不是loginredirect解决了这个问题。我也使用了该链接。

    authorizationParams={{
    redirect_uri: 'mysiteadress.com/home'
    }}

    我没有使用window.location.origin。但我在这部分代码中使用了地址。

    Antwort
    0
  • StornierenAntwort