Ich möchte verstehen, was tokenbasierte Authentifizierung bedeutet. Ich habe im Internet gesucht, aber nichts Verständliches gefunden.
security
authentication
token
http-token-authentication
csharpbaby
quelle
quelle
Antworten:
Ich denke , es ist gut erklärt hier - unter Angabe nur die wichtigsten Sätze des langen Artikels:
Mit anderen Worten: Fügen Sie eine Indirektionsebene für die Authentifizierung hinzu. Anstatt sich für jede geschützte Ressource mit Benutzername und Kennwort authentifizieren zu müssen, authentifiziert sich der Benutzer auf diese Weise einmal (innerhalb einer Sitzung von begrenzter Dauer) und erhält dafür ein zeitlich begrenztes Token und verwendet dieses Token für die weitere Authentifizierung während der Sitzung.
Es gibt viele Vorteile - z. B. könnte der Benutzer das Token, sobald er es erhalten hat, an ein anderes automatisiertes System weitergeben, dem er für eine begrenzte Zeit und eine begrenzte Anzahl von Ressourcen vertrauen möchte, das er jedoch nicht bereit wäre Vertrauen in ihren Benutzernamen und ihr Passwort (dh mit jeder Ressource, auf die sie zugreifen dürfen, für immer oder zumindest bis sie ihr Passwort ändern).
Wenn noch etwas unklar ist, bearbeiten Sie bitte Ihre Frage, um zu klären, WAS Ihnen nicht 100% klar ist, und ich bin sicher, wir können Ihnen weiterhelfen.
quelle
Von Auth0.com
quelle
A
token
ist ein Datenelement, dasServer X
möglicherweise nur erstellt werden konnte und das genügend Daten enthält, um einen bestimmten Benutzer zu identifizieren.Sie können Ihre Anmeldeinformationen präsentieren und
Server X
nach einem fragentoken
; und dann können Sie Ihre präsentierentoken
und umServer X
eine benutzerspezifische Aktion bitten .Token
s werden unter Verwendung verschiedener Kombinationen verschiedener Techniken aus dem Bereich der Kryptographie sowie mit Beiträgen aus dem breiteren Bereich der Sicherheitsforschung erstellt. Wenn Sie sich entscheiden, Ihr eigenestoken
System zu erstellen , sollten Sie am besten wirklich schlau sein.quelle
Ein Token ist ein vom Server erstelltes Datenelement und enthält Informationen zur Identifizierung eines bestimmten Benutzers und zur Gültigkeit des Tokens. Das Token enthält die Informationen des Benutzers sowie einen speziellen Token-Code, den der Benutzer mit jeder Methode, die die Authentifizierung unterstützt, an den Server übergeben kann, anstatt einen Benutzernamen und ein Kennwort direkt zu übergeben.
Die Token-basierte Authentifizierung ist eine Sicherheitstechnik, mit der Benutzer, die versuchen, sich bei einem Server, einem Netzwerk oder einem anderen sicheren System anzumelden, mithilfe eines vom Server bereitgestellten Sicherheitstokens authentifiziert werden.
Eine Authentifizierung ist erfolgreich, wenn ein Benutzer einem Server durch Übergeben eines Sicherheitstokens nachweisen kann, dass er ein gültiger Benutzer ist. Der Dienst überprüft das Sicherheitstoken und verarbeitet die Benutzeranforderung.
Nachdem das Token vom Dienst validiert wurde, wird es verwendet, um den Sicherheitskontext für den Client einzurichten, sodass der Dienst Autorisierungsentscheidungen treffen oder Aktivitäten für aufeinanderfolgende Benutzeranforderungen überwachen kann.
Besuchen Sie die Quelle
quelle
Token-basiert (Sicherheit / Authentifizierung)
bedeutet, dass wir zuerst den Token erhalten müssen, um zu beweisen, dass wir Zugriff haben. In einem realen Szenario könnte der Token eine Zugangskarte zum Gebäude sein, er könnte der Schlüssel zum Schloss Ihres Hauses sein. Damit Sie eine Schlüsselkarte für Ihr Büro oder den Schlüssel für Ihr Zuhause abrufen können, müssen Sie zunächst nachweisen, wer Sie sind und dass Sie tatsächlich Zugriff auf dieses Token haben. Es könnte so einfach sein, jemandem Ihre ID zu zeigen oder ihm ein geheimes Passwort zu geben. Stellen Sie sich vor, ich muss Zugang zu meinem Büro bekommen. Ich gehe zum Sicherheitsbüro, zeige ihnen meinen Ausweis und sie geben mir diesen Token, der mich in das Gebäude lässt. Jetzt habe ich uneingeschränkten Zugang, um im Gebäude zu tun, was ich will, solange ich meinen Token bei mir habe.
Was ist der Vorteil der tokenbasierten Sicherheit?
Wenn wir an die unsichere API zurückdenken, mussten wir in diesem Fall unser Passwort für alles angeben, was wir tun wollten.
VorstellenJedes Mal, wenn wir eine Tür in unserem Büro betreten, müssen wir jedem, der neben der Tür sitzt, unser Passwort geben. Das wäre ziemlich schlimm, denn das bedeutet, dass jeder in unserem Büro unser Passwort nehmen und sich als wir ausgeben könnte, und das ist ziemlich schlimm. Stattdessen rufen wir das Token natürlich zusammen mit dem Passwort ab, aber wir rufen es von einer Person ab. Und dann können wir diesen Token überall im Gebäude verwenden. Wenn wir das Token verlieren, haben wir natürlich das gleiche Problem, als ob jemand anderes unser Passwort kennt, aber das führt uns zu Dingen wie, wie wir sicherstellen können, dass wir den Zugriff und möglicherweise das Token widerrufen können, wenn wir das Token verlieren sollte nicht länger als 24 Stunden leben, also müssen wir am nächsten Tag, an dem wir ins Büro kommen, unseren Ausweis erneut vorzeigen. Trotzdem gibt es nur eine Person, der wir den Ausweis zeigen.
quelle
Die Frage ist alt und die Technologie hat sich weiterentwickelt, hier ist der aktuelle Stand:
JSON Web Token (JWT) ist ein JSON-basierter offener Standard (RFC 7519) für die Weitergabe von Ansprüchen zwischen Parteien in einer Webanwendungsumgebung. Die Token sind kompakt, URL-sicher und können insbesondere im SSO-Kontext (Single Sign-On) des Webbrowsers verwendet werden.
https://en.wikipedia.org/wiki/JSON_Web_Token
quelle
Es ist nur ein Hash, der dem Benutzer in der Datenbank oder auf andere Weise zugeordnet ist. Dieses Token kann verwendet werden, um einen Benutzerzugriff auf den Inhalt der Anwendung zu authentifizieren und dann zu autorisieren. Um dieses Token auf der Clientseite abzurufen, ist eine Anmeldung erforderlich. Nach der ersten Anmeldung müssen Sie das abgerufene Token speichern, keine anderen Daten wie Sitzung, Sitzungs-ID, da hier alles Token ist, um auf andere Ressourcen der Anwendung zuzugreifen.
Token wird verwendet, um die Authentizität des Benutzers sicherzustellen.
quelle
Der heutzutage am meisten bevorzugte Ansatz zum Sichern der Web-API-Ressourcen ist die Authentifizierung der Benutzer im Web-API-Server mithilfe des signierten Tokens (das genügend Informationen enthält, um einen bestimmten Benutzer zu identifizieren), das vom Client mit jedem und an den Server gesendet werden muss jede Anfrage. Dies wird als Token-basierter Authentifizierungsansatz bezeichnet.
Die Token-basierte Authentifizierung funktioniert wie folgt:
Ein Benutzer gibt den Namen und das Kennwort in den Client ein (Client bezeichnet den Browser oder mobile Geräte usw.).
Der Client sendet diese Anmeldeinformationen (dh Benutzername und Kennwort) an den Autorisierungsserver.
Anschließend authentifiziert der Autorisierungsserver die Client-Anmeldeinformationen (dh Benutzername und Kennwort) und generiert anschließend ein Zugriffstoken und gibt es zurück. Dieses Zugriffstoken enthält genügend Informationen, um einen Benutzer zu identifizieren, und enthält auch die Ablaufzeit des Tokens.
Die Clientanwendung enthält dann das Zugriffstoken im Autorisierungsheader der HTTP-Anforderung, um auf die eingeschränkten Ressourcen vom Ressourcenserver zuzugreifen, bis das Token abgelaufen ist.
Der folgende Artikel zeigt Schritt für Schritt, wie die Token-basierte Authentifizierung in der WEB-API implementiert wird.
https://dotnettutorials.net/lesson/token-based-authentication-web-api/
quelle
Wenn Sie sich für eine neue Website registrieren, erhalten Sie häufig eine E-Mail, um Ihr Konto zu aktivieren. Diese E-Mail enthält normalerweise einen Link zum Klicken. Ein Teil dieses Links enthält ein Token. Der Server kennt dieses Token und kann es Ihrem Konto zuordnen. Dem Token ist normalerweise ein Ablaufdatum zugeordnet, sodass Sie möglicherweise nur eine Stunde Zeit haben, um auf den Link zu klicken und Ihr Konto zu aktivieren. All dies wäre mit Cookies oder Sitzungsvariablen nicht möglich, da nicht bekannt ist, mit welchem Gerät oder Browser der Kunde E-Mails abruft.
quelle