О JWT:
Я уже использовал аутентификацию jwt в фреймворке spring boot Java project, но в C# ещё не применял, и в этой статье реализуется проверка почтовых ящиков на основе jwt. Блок-схема выглядит следующим образом:
В вашем проекте используйте nuget для установки плагина JWT:
Обобщает класс помощи JwtHelper следующим образом:
Попробуйте использовать консольный вызов, мы укажем дату истечения JWTНастройка по умолчанию — 15 минут, код консоли выглядит следующим образом:
Вы можете увидеть, что токен может получать значение нормально,Токен 1 истёк, что вызвало исключениеСледующим образом:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6Iml0c3ZzZUBpdHN2c2UuY29tIiwiZXhwIjoxNjA0ODIxMDQxLjB9.JG2pYtJxXTXBDs7Qtk9QBd5sR4BynxkirQ355sIu5Kg
itsvse@itsvse.com
JWT.Exceptions.TokenExpiredException: Token has expired. В JWT. JwtValidator.Validate(String decodedPayload, строковая подпись, строка[] decodedSignatures) В JWT. JwtDecoder.Validate(JwtParts jwt, Byte[][] keys) В JWT. JwtDecoder.Decode(JwtParts jwt, ключ Byte[] key, булева проверка) В JWT. JwtDecoder.DecodeToObject[T](JwtParts jwt, ключ Byte[] key, булева проверка) В JWT. JwtDecoderExtensions.DecodeToObject[T](IJwtDecoder декодер, String token, Byte[] key, булева верификация) В JWT. JwtDecoderExtensions.DecodeToObject[T](IJwtDecoder decoder, String token, String key, Boolean verify)
Согласно блок-схеме, мы стараемся реализовать её на веб-сайте, сначала зарегистрируем страницу, как показано на рисунке ниже:
В этот момент мы получим электронное письмо, в котором говорится:
Перейдя по ссылке в электронной почте, вы попадёте на интерфейс нашей регистрационной формы, как показано ниже:
Введите имя пользователя и пароль и нажмите «Зарегистрироваться», чтобы завершить регистрацию, как показано на рисунке ниже:
В этой статье также отмечаются следующие моменты:
- Тот же IP или та же частота отправки в входящих
- Запишите журнал отправки писем
- Стратегия чёрного списка
(Конец)
|