Ich bin mit Asp.Net-Identität-2 und I entwickelt, um das Bestätigungs-E-Flow.Asp.NET - Identität 2 - Ungültige Token-Fehler - Php
Alles funktioniert gut auf meiner lokalen Umgebung, aber sobald ich den Code auf meinem Server bereitstellen und ich das gleiche Szenario (das auf meinem lokalen arbeitet) auf meinem Server testen, heißt es "Invalid Token".
Szenario
- E-Mail ändern
- e-mail erhalten
- Klicken Sie auf den Link "E-Mail bestätigen"
- Weitergeleitet
- eine Mitteilung Webseite Pop-up sagen „Invalid Token "
Ich überprüfe bereits alle möglichen Fehler, die in diesem question sind und ich habe alles richtig, deshalb funktioniert das perfekt auf meinem lokalen. Muss etwas mit dem Server sein. Ich dachte, das Datum des Servers könnte sich auswirken, aber ich habe das Datum meines Datenbankservers und meines Webservers synchronisiert und es schlägt immer noch fehl.
ich GenerateEmailConfirmationTokenAsync bin mit dem Token und mit ConfirmEmailAsync zu erzeugen, um die Token zu bestätigen. Ich führe diese Methoden wirklich aus, weil ich Logs dafür anlege, damit ich sicher sein kann (Wenn du nicht weißt, was passiert, musst du dir alles sicher sein?)
Ich kodiere bereits/decodiere die URL so Das Token wird nicht beschädigt. Ich bin mir dessen sicher, weil ich Logs einfüge und den Code im Server laufen lasse und einige Male überprüft habe.
Der Benutzer verfügt über eine Sicherheitsmarke in der Datenbank, so ist es nicht, dass
Die TokenLifeSpan 8 Tage ist. So ist es nicht.
Ich habe sogar versucht, die AllowOnlyAlphanumericUserNames Eigenschaft = false in UserValidator und sogar die UniqueEmail = false
userManager.UserValidator = new UserValidator<User>(userManager) { AllowOnlyAlphanumericUserNames = false, UniqueEmail = false };
-Code des Tokens
ApplicationUserManager.GenerateEmailConfirmationTokenAsync(userId);
-Code zu erzeugen, das Token
ApplicationUserManager.ConfirmEmailAsync(subject, token);
zu bestätigen
Irgendeine Idee?
aktualisiert
Es war die Arbeit auf dem Server/local mit allen Kunden, aber nicht mit dem Php-Client und der Php-Client tat zusätzliche Arbeit, die die Sicherheit Stempel ändert damit das Problem.
Als einziger Client auf dem Server in Php war, dachte ich, dass etwas mit dem Server falsch war und nicht mit meiner lokalen Umgebung. Nach der Installation der gesamten Umgebung (mit PHP-Client) in meinem lokalen und Debug, habe ich das Problem herausgefunden. Bitte lesen Sie die Antwort unten.
Können Sie Ihren Code teilen, wo Sie Token/Token überprüfen? –
sicher, ich poste es einfach. Der Code ist so einfach. Ich glaube nicht, dass es sich um den Code handelt, denn wie gesagt, er arbeitet lokal (für alle Entwickler) –