O JWT:
Używałem uwierzytelniania jwt w frameworku Java Project Spring Boot, ale jeszcze nie w C#, a ten artykuł implementuje walidację skrzynek pocztowych na podstawie jwt. Schemat przepływu wygląda następująco:
W swoim projekcie użyj nugeta do zainstalowania wtyczki JWT:
Zawiera klasę pomocy JwtHelper w następujący sposób:
Spróbuj użyć wywołania konsolowego, podamy datę ważności jwtDomyślne ustawienie to 15 minut, kod konsoli wygląda następująco:
Widać, że token może normalnie uzyskać tę wartość,token1 wygasł, co powoduje wyrzucenie wyjątkuNastępujący sposób:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Iml0c3ZzZUBpdHN2c2UuY29tIiwiZXhwIjoxNjA0ODIxMDQxLjB9.JG2pYtJxXTXBDs7Qtk9QBd5sR4BynxkirQ355sIu5Kg
itsvse@itsvse.com
JWT.Exceptions.TokenExpiredException: Token has expired. W JWT. JwtValidator.Validate(String decodedPayload, String signature, String[] decodedSignatures) W JWT. JwtDecoder.Validate(JwtParts jwt, Byte[][] keys) W JWT. JwtDecoder.Decode(JwtParts jwt, Byte[] key, boolean verify) W JWT. JwtDecoder.DecodeToObject[T](JwtParts jwt, Byte[] key, boolean verify) W JWT. JwtDecoderExtensions.DecodeToObject[T](IJwtDecoder dekoder, String token, Byte[] key, Boolean verify) W JWT. JwtDecoderExtensions.DecodeToObject[T](IJwtDecoder decoder, String token, String key, Boolean verify)
Zgodnie z diagramem przepływowym staramy się zaimplementować to na stronie internetowej, najpierw zarejestrować stronę, jak pokazano na poniższym rysunku:
W tym momencie otrzymamy e-mail z treścią:
Klikając w link w e-mailu, zostaniesz przekierowany do naszego interfejsu formularza rejestracyjnego, jak pokazano poniżej:
Wpisz nazwę użytkownika i hasło, a następnie kliknij Rejestracja, aby ukończyć rejestrację, zgodnie z poniższym rysunkiem:
W tym artykule zauważamy również następujące kwestie:
- Ten sam IP lub ta sama częstotliwość wysyłania skrzynki odbiorczej
- Zapisz dziennik wysyłania wiadomości
- Strategia czarnej listy
(Koniec)
|