RegistrierenAnmelden
DokumentationPreise
RegistrierenAnmelden
  • Erste Schritte
  • Einführung
  • Schnellstart
  • SDKs
  • React
  • TypeScript
  • Next.js
  • Express
  • NestJS
  • Python
  • API-Referenz
  • Support und Ressourcen
  • FAQ
  • Kontakt

useLogin

Der useLogin-Hook bietet Methoden zum Auslösen des OAuth 2.0 Login-Flows per Redirect oder Popup.


Grundlegende Verwendung

Grundlegende Verwendung mit redirect-basiertem Login:

import { useLogin } from 'authsafe-react';

function LoginButton() {
  const { signinRedirect, isLoading } = useLogin();

  return (
    <button onClick={() => signinRedirect()} disabled={isLoading}>
      {isLoading ? 'Logging in...' : 'Login with AuthSafe'}
    </button>
  );
}

Rückgabewerte

EigenschaftTypBeschreibung
signinRedirect(extraParams?) => Promise<void>Funktion zum Auslösen des redirect-basierten Logins
signinPopup(extraParams?) => Promise<void>Funktion zum Auslösen des popup-basierten Logins
isLoadingbooleanOb ein Login-Vorgang läuft
errorError | nullFehlerobjekt bei fehlgeschlagenem Login

Zusätzliche Parameter

Sie können zusätzliche Parameter an die Autorisierungsanfrage übergeben:

ParameterTypBeschreibung
scopestringStandard-Scopes für diese Login-Anfrage überschreiben
promptstringErzwingen Sie erneute Authentifizierung oder Zustimmung (z.B. 'login', 'consent', 'none')
ui_localesstringBevorzugte UI-Sprache(n) für die Login-Seite
login_hintstringE-Mail-/Benutzername-Feld auf der Login-Seite vorausfüllen
max_agestringMaximales Authentifizierungsalter in Sekunden vor erneuter Authentifizierung

Zusätzliche Parameter

import { useLogin } from 'authsafe-react';

function LoginButton() {
  const { signinRedirect, isLoading, error } = useLogin();

  const handleLogin = () => {
    signinRedirect({
      scope: 'openid profile email',
      prompt: 'login',
      ui_locales: 'en-US'
    });
  };

  if (error) {
    return <div>Error: {error.message}</div>;
  }

  return (
    <button onClick={handleLogin} disabled={isLoading}>
      {isLoading ? 'Logging in...' : 'Login'}
    </button>
  );
}

Popup vs Redirect

Sie können zwischen zwei Login-Strategien wählen:

import { useLogin } from 'authsafe-react';

function LoginButton() {
  const { signinPopup, isLoading } = useLogin();

  const handlePopupLogin = async () => {
    try {
      await signinPopup({ scope: 'openid profile email' });
    } catch (err) {
      console.error('Login failed:', err);
    }
  };

  return (
    <button onClick={handlePopupLogin} disabled={isLoading}>
      {isLoading ? 'Logging in...' : 'Login with Popup'}
    </button>
  );
}
Popup-Hinweis
  • Redirect: Vollständige Seitenweiterleitung zum Autorisierungsserver (Standard, für die meisten Apps geeignet).
  • Popup: Öffnet Login in einem Popup-Fenster (nützlich für SPAs, in denen Sie den Status beibehalten möchten).

Typdefinition

interface IUseLogin {
  signinRedirect: (extraParams?: Record<string, string>) => Promise<void>;
  signinPopup: (extraParams?: Record<string, string>) => Promise<void>;
  isLoading: boolean;
  error: Error | null;
}

Sicherheits-Best-Practices
  • PKCE ist automatisch für alle Login-Flows aktiviert
  • State- und Nonce-Parameter werden zur Verhinderung von CSRF validiert
  • Tokens werden sicher gespeichert und nie in URLs exponiert
  • Popup-Modus verwendet postMessage für sichere fensterübergreifende Kommunikation
  • Alle Weiterleitungen werden gegen die konfigurierte Redirect-URI validiert

AuthSafe

Product

HighlightFeatureIntegrationPricingFAQ

Company

AboutBlogContact

Developer

DashboardDocumentation

Legal

Terms & ConditionsPrivacyComplianceShippingCancellationAI

© 2026 AuthSafe. All rights reserved.

Wir schätzen Ihre Privatsphäre

Diese Website verwendet Cookies für anonyme Analysen, um Ihr Erlebnis zu verbessern. Es werden keine persönlichen Daten gespeichert oder weitergegeben. Sie können die Analyseverfolgung jederzeit zulassen oder ablehnen. Siehe unsere Datenschutzrichtlinie.

Wir verwenden Cookies für anonyme Analysen. Keine persönlichen Daten werden gespeichert. Siehe unsere Datenschutzrichtlinie.