Anmelden

Wie Auth0 die Standards der Identitätsindustrie nutzt

Und warum Sie in Ihren Apps immer Industriestandards verwenden sollten

how-auth0-uses-identity-industry-standards

Was sind Industriestandards für Identität?

Als Computer noch größtenteils eigenständige Systeme waren, befanden sich die Codes für die Authentifizierung (um zu überprüfen, ob jemand derjenige ist, für den er sich ausgibt) und die Autorisierung (um den Zugriff auf bestimmte Informationen zu ermöglichen) zusammen mit den Datenbanken, welche die Benutzerinformationen enthielten, auf dem Gerät selbst. Sogar in den Anfängen des Internets haben Websites die Sicherheit unabhängig voneinander gehandhabt, indem sie benutzerdefinierten und proprietären Code verwendeten.

Heute können Sie dieselben Anmeldedaten für mehrere Anwendungen und Websites verwenden, sei es für soziale Netzwerke oder für Ihre individuellen Unternehmensanmeldedaten für die Arbeit. Dies ist darauf zurückzuführen, dass Identitätsindustriestandards im gesamten Internet weit verbreitet sind.

Identitätsindustriestandards sind offene Spezifikationen und Protokolle, die explizit festlegen, wie Authentifizierungs- und Autorisierungssysteme zur Verwaltung von Identitäten, zur sicheren Übertragung personenbezogener Daten und zur Entscheidung darüber, wer auf Anwendungen und Daten zugreifen darf, zu gestalten sind, damit mehrere Parteien problemlos Interoperabilität erreichen können.

Die Vorteile von Standards

  • Vertrauen und Sicherheit
    • Die Verwendung von Authentifizierungsstandards erhöht die Sicherheit und reduziert das Risiko, da der Endbenutzer nur einmal von einem Identitätsanbieter identifiziert und authentifiziert werden muss und diese Identitätsinformationen dann in mehreren Systemen verwendet werden können. Autorisierungsstandards können die Einhaltung des Datenschutzes verbessern, da die Menge der ausgetauschten Informationen leicht kontrolliert werden kann.
  • Leistung und Kosten
    • Standards bedeuten, dass Ihre Anwendungen nicht von benutzerdefiniertem Backend-Authentifizierungscode oder von einer intern gehosteten Benutzerdatenbank abhängig sind. Eine Anwendung kann intern entwickelt und extern bereitgestellt werden, ohne dass Sie sich Gedanken über die Verbindung zum ursprünglichen Backend-Code und Server machen müssen. Die Verwendung von Identitätsstandards kann die Kosten senken, da die Notwendigkeit entfällt, einmalige oder proprietäre Lösungen zu skalieren, und stärkere Authentifizierungs- und Autorisierungsmethoden können automatisch aktualisiert werden, ohne dass dazu erhebliche Mengen an Code aktualisiert werden müssen.
  • Kundenzufriedenheit
    • Die Erfahrung der Endbenutzer wird drastisch verbessert, da neue Konten nicht für jede neue Anwendung registriert werden müssen und sie wissen, dass ihre Daten sicher beim ursprünglichen Identitätsanbieter gespeichert sind. Sie können außerdem weniger und stärkere Passwörter und Anmeldeinformationen für ihre Konten verwenden.

Die Identitätsindustriestandards hinter Auth0

Im Folgenden finden Sie die Identitätsindustriestandards, die von Auth0 verwendet werden.

  • OAuth 1 – Im ursprünglichen Standard wurden gemeinsame Geheimnisse zwischen einem Server und dem Endbenutzer verwendet, um Signaturen zu berechnen, die dann zur Überprüfung der Authentizität von API-Anfragen verwendet wurden. Die Implementierung von Signaturen war jedoch schwierig. Mit dem Upgrade auf OAuth 2 entfällt die Notwendigkeit von Signaturen. Stattdessen wird SSL verwendet.
  • OAuth 2 – Ein Autorisierungsstandard, der den sicheren Zugriff auf Ressourcen des Endbenutzers ermöglicht. Er spezifiziert einen Prozess, der Dritten den Zugriff auf Ressourcen ermöglicht, ohne dass der Endbenutzer seine Anmeldedaten preisgeben muss. Dieser Standard wird häufig für die Anmeldung bei Anwendungen mit Google-, Twitter- und Facebook-Konten verwendet.
  • Verbraucherorientierte Authentifizierungsstandards
    • Open ID Connect – eine Identitätsebene, die auf OAuth 2 aufgebaut ist und eine einfache Überprüfung der Identität des Benutzers sowie die Möglichkeit bietet, grundlegende Profilinformationen vom Identitätsanbieter zu erhalten.
      Um sicherzustellen, dass die Implementierung von Auth0 konform ist, haben wir OpenID zertifiziert.
    • JSON-Web-Token — ein offener Standard, der eine kompakte und in sich geschlossene Methode zur sicheren Übertragung von Informationen zwischen Parteien in Form eines JSON-Objekts definiert. Diese Informationen können überprüft und als vertrauenswürdig eingestuft werden, da sie digital signiert sind. Sie können verwendet werden, um die Identität von authentifizierten Benutzern zwischen dem Identitätsanbieter und dem Dienst, der die Authentifizierung anfordert, zu übermitteln. Sie können authentifiziert und verschlüsselt werden.
  • Standards für die Authentifizierung von Unternehmen
    • Security Assertion Markup Language (SAML) – ein offener Standard, ein XML-basiertes Datenformat, das es Unternehmen ermöglicht, Informationen zur Benutzerauthentifizierung und -autorisierung an Partnerunternehmen und Unternehmensanwendungen zu übermitteln, die ihre Mitarbeiter verwenden. SAML ermöglicht Plattformneutralität, geringere Kosten und die Übertragung von Risiken bei der Identitätsverwaltung.
    • WS-Federation – Dieser Standard wurde von Microsoft entwickelt und wird in deren Anwendungen häufig verwendet. Er definiert die Art und Weise, wie Sicherheits-Token zwischen verschiedenen Einheiten transportiert werden können, um Identitäts- und Autorisierungsinformationen auszutauschen.

Auth0 und Identitätsindustriestandards

Alle diese Standards sind in Auth0 verfügbar, und die Implementierung erfordert wenig bis gar keine Neukodierung, wenn Sie zwischen verschiedenen Protokollen oder Identitätsanbietern wechseln.

Standardisierung des gesamten Unternehmens

Der einfachste Weg, um mit Standards zu beginnen, ist die Implementierung des Anmeldeprotokolls Open ID Connect / OAuth 2 unter Verwendung von JWT als Zugriffstoken. Damit können sich Ihre Benutzer oder Mitarbeiter problemlos bei jedem Anbieter von sozialen Identitäten anmelden.

Authentifizierung mit Auth0

Die Implementierung mit Auth0 erfolgt in sechs Schritten:

  1. Einrichten der Callback-URL in Auth0. Dazu fügen Sie die Informationen auf der Seite „Anwendungseinstellungen“ („Application Settings“) auf dem Dashboard hinzu:
    http://www.yoursite.com/callback
  2. Integrierung von Auth0Lock
    <script src='https://cdn2.auth0.com/js/lock-8.2.min.js'></script>
    <script type='text/javascript'>
        var lock = new Auth0Lock('4CvZhjoDtdwciSPYLaby6EdJA6eBBRsi', 'username.auth0.com');
        function signin() {
            lock.show({
                callbackURL: 'http://www.yoursite.com/callback',
                responseType: 'code',
                authParams: {
                    scope: 'openid profile'
                }
            });
         }
    </script>
    <button onclick='window.signin();'>Login</button>
  3. Nachdem sich der Benutzer authentifiziert hat, wird Ihre App mit einem GET zu diesem Endpunkt aufgerufen.
    GET http://www.yoursite.com/callback?code=AUTHORIZATION_CODE&state=VALUE_THAT_SURVIVES_REDIRECTS
  4. Ihre App muss den Code über einen POST an den Auth0 Server senden
    POST https://username.auth0.com/oauth/token
    Content-type: application/x-www-form-urlencoded
    client_id=4CvZhjoDtdwciSPYLaby6EdJA6eBBRsi
    &redirect_uri=http://www.yoursite.com/callback
    &client_secret=4DxvHUwrabq6EQNe061PoFDeC5Ic5DamI2Eropuz-MLvi730WJijwZT6Zd6EM_nK
    &code=AUTHORIZATION_CODE
    &grant_type=authorization_code
  5. Die Antwort des Servers sieht wie folgt aus:
    { 'access_token':'2YotnF..........1zCsicMWpAA', 'id_token': '......Json Web Token......', 'token_type': 'bearer' }
  6. Schließlich können Sie das Benutzerprofil abrufen, indem Sie Folgendes aufrufen
    GET https://username.auth0.com/userinfo/?access_token=2YotnF..........1zCsicMWpAA

Dadurch werden Ihre Benutzer bei ihrem Open ID Connect Identitätsanbieter authentifiziert und ihr normalisiertes Benutzerprofil für Ihre Anwendung zurückgegeben.

Implementieren Sie SAML für SSO, um Ihre SaaS auf den Markt zu bringen

Die Implementierung von SSO für Unternehmen ist eine der einfachsten Möglichkeiten, Ihre SaaS auf den Markt zu bringen und Ihren Umsatz zu steigern. Wenn Sie es Unternehmenskunden ermöglichen, dass sich ihre Mitarbeiter mit ihren Unternehmensdaten bei Ihrer Anwendung anmelden können, dann ist es für einen potenziellen Unternehmenskunden wahrscheinlich eine Notwendigkeit, sich für Ihre SaaS zu entscheiden.

Die Implementierung der SAML-Authentifizierung in Auth0 ist so einfach wie das Hinzufügen von ein paar Zeilen Code und das Hinzufügen der Informationen Ihres SAML-Identitätsanbieters in das Dashboard. Die Informationen, die Sie benötigen, sind:

  • SSO Anmelde-URL
  • SSO Abmelde-URL
  • X509-Signatur-Zertifikat

Diese Informationen können Sie auf der Konfigurationsseite „SAML“ unter „Unternehmensverbindungen“ („Enterprise Connections“) hinzufügen:

Konfiguration SAML

Für die Verwendung mit Lock können Sie einige Codezeilen hinzufügen, um die Login- und Logout-Funktionen auf Ihren SAML-Identitätsanbieter umzuleiten. Verwenden Sie dazu eine Express-Implementierung und schließen Sie passport.js ein:

var express = require('express'); 
var router = express.Router(); 
var passport = require('passport');  
  
/* GET users listing. */  
router.get('/', function(req, res, next) {  
    res.send(req.user); 
});  
  
router.get('/authenticate', 
    passport.authenticate('auth0', { 
        failureRedirect: '/error'  
    }), 
    function(req, res) { 
        if (!req.user) { 
            throw new Error('user null');  
        } 
        res.redirect('/'); 
    });  
  
router.get('/logout', function(req, res) {  
    req.logout(); 
    res.redirect('/'); 
}) 
 
module.exports = router;

Mehr über diese Implementierung erfahren Sie in unserem Video über den Wechsel zu SAML.

Die Anmeldung für kostenlos

Beginnen Sie noch heute mit der Entwicklung und sichern Sie noch heute Ihre Anwendungen mit der Auth0-Identitätsplattform.

3D login box