Вроде сначала, а потом читай, Java продвинута более чем наполовину.
Привет всем, я брат Нэн.
记得前几天Брат Нэн在牛客看到一条Вопросы для интервью
:Как подтвердить подлинность работы,Знаете ли вы часто используемые схемы аутентификации?
Надо сказать, что даже если вы войдете в небольшую интернет-компанию, их инфраструктура, такая как решения для аутентификации, уже создана, и в своей работе они используют больше решений, созданных их предшественниками. Столкнувшись с этим вопросом, если не понять его заранее, ответ будет слишком простым.
Самый простой и старый метод аутентификации.,Все знают, что это Аутентификация по паролю учетной записи. Самый простой и легкий для взлома,Пользователи не могут запомнить пароль, установленный для каждого веб-сайта.,Поэтому они чаще ставятделитьсяПароли, установленные в качестве паролей для нескольких веб-сайтов。Самое страшное, что пароль определенного веб-сайта утек.,Практически все пароли к сайтам раскрыты.
NordPass
在这个月发布了 2024 年худший парольСписок,Вас обманули? ?
Как следует из названия, аутентификация HTTP основана на протоколе HTTP. Как проверить подлинность протокола HTTP? Где хранится зашифрованная информация?
Этот метод аутентификации является ранним методом аутентификации.,Так что безопасность на самом деле не высока,это черезЗаголовок HTTP-запросаПередать данные аутентификации,Использовать пароль учетной записиКодировка Base64поставить после Заголовок запроса,род ВПередача открытого текста!
Чтобы кратко рассказать о процессе аутентификации, вы также можете обратиться к следующей блок-схеме, предоставленной сайтом Developer.mozilla.org.
Если аутентификация сервера прошла успешно, пароль учетной записи, переданный через заголовок запроса, вернет необходимую информацию о данных.
конечно! Аутентификация HTTP также может повысить безопасность за счет обновления протокола HTTP до протокола HTTPs.
Зависит от ВHTTPSИспользование протоколаПротокол SSL/TLS
Для передачи данныхшифрование,Это гарантирует, что данные не читаются во время передачи. Вы можете просмотреть то, что только что сказал брат Нэн.,HTTP-аутентификацияиспользоватьКодировка Base64
Обработка пароля учетной записи,Можно сказать, что этот метод не считается шифрованием.,Кодировка Base64
хотетьдекодированиеВыход занимает считанные минуты。
Файлы cookie создаются с сервера и сохраняются в браузере. Установить файл cookie на определенный веб-сайт также очень просто.
# Установить файлы cookie
Set-Cookie: <cookie-name>=<cookie-value>
но! Многие люди могут неправильно понять: сеанс — это другой тип данных, отличающийся от файлов cookie. Не совсем,Сессия — это, по сути, файл cookie.,Я называю это содержитИдентификатор сеансаизCookie。
Шаги для аутентификации через Session-Cookie следующие. Общий процесс аналогичен HTTP-аутентификации, поэтому вам не нужно думать об этом так сложно.
конечно! В использовании аутентификации Cookie-Session также есть болевой момент: ее сложно использовать во времени! Далее брат Нэн расскажет о том, какой тип аутентификации не вызывает проблем при пересечении.
Cookeиз发送是Зависит от浏览器Автоматическое управление,Браузер и сервер также предусматривают ряд ограничений на отправку файлов cookie.,Использование файлов cookie за рубежом становится очень затруднительным.
Токены аутентификации. Два вышеуказанных метода аутентификации одинаковы.,Все вЗаголовок запросаносить внутрипроверятьинформация,Одновременно на серверепроверять。
Но аутентификация по токену имеет свои особенности, что также является ее преимуществом перед традиционными методами аутентификации.
(1) Брат Нэн упомянул выше, что Аутентификация сеанса Использовать куки для пересечения хлопотно, а вот с токенами переправиться не составит труда. Все верно, это просто и без проблем. Аутентификация токена Является фронтенд-разработчикомявныйНаземная ручкаTokenдобавить в Заголовок запроса,Вы даже можетеTokenнадеватьстрока запроса,Браузер не устанавливает никаких ограничений на использование файлов cookie.
(2) Токены не имеют гражданства.,сервер不需хотеть像Аутентификация сеанса cookie
Также поддерживать состояние сеанса,сервер只需хотетьпроверятьTokenиз真实性即可。
(3)Tokenпроверять非常适合目前израспределенная система,Для каждого узла распределенной системы всегда было проблемой поддерживать один и тот же набор состояний сеанса.,Tokenпроверять Ничего подобного вообще。
в целомраспределенная система Будет специально созданныйTokenжетониStorageTokenжетонизсервер,Существует также сервер, предназначенный для проверки действительности токена. Кроме того, не существует фиксированного формата для токена аутентификации.,Token存储изинформацияв целом有:Уникальный идентификатор пользователя + Временная метка + информация о разрешении
。
JWTполное имяJSON Web Token
,Опять жетон? В чем разница между иToken?
JWT на самом деле является стандартом,Выражено с помощьюФормат объекта JSON存储из一种Token。Все, пожалуйста, обратите внимание,JWT должен быть токеном,Но Token не обязательно является JWT.
JWT也不需хотеть像前面изАутентификация токена
一样需хотеть有专门изTokenпроверятьсервер,在任何сервер节点只需хотеть共享JWTизсекрет ключа
Вот и вседекодированиеJWT,Он будет представлен нижесекрет ключа
。
JWTЗависит от三部分组成:Заголовок、Полезная нагрузка、Подпись,前面两部分都会Зависит отКодировка Base64
Процесс。
(1)Header
Заголовок состоит из типа токена и используемого алгоритма подписи, например алгоритма подписи HMAC SHA256, приведенного ниже. Заголовок используется для определения типа алгоритма шифрования.
{
"alg": "HS256", // HMAC Алгоритм подписи SHA256
"typ": "JWT"
}
(2)Payload
Полезная нагрузка в основном содержит информацию о пользователе, а интерфейсная и серверная части могут получать личную информацию через полезную нагрузку.
{
"sub": "666666","name": "JavaSouth Nange",
"admin": true
}
(3)Signature
Подпись генерируется с помощью следующего метода шифрования. Секретный ключ известен только клиенту и серверу, чтобы гарантировать, что данные не были подделаны во время передачи.
HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret)
Каждый должен был использовать этот сайт jwt.io,Мы можем декодировать, проверять и генерировать JWT выше.,в частностидекодированиеполучи это позжеJWT里面из用户информация。
Это похоже на очень продвинутый термин аутентификации. Позвольте мне представить вам картину: я считаю, что каждый использовал единый вход.
После входа в Google Chrome, когда мы впервые посещаем Google Mailbox, Google Maps и т. д., мы можем использовать статус входа предыдущего Google Chrome для входа на другие платформы одним щелчком мыши, сокращая повторные операции входа в систему.
закрывать ВЕдиный вход
Вы можете проверить этофорум auth0.com,Очень четко и идеально.
OAuth 2.0 — это стандартный протокол авторизации, и его первоначальная цель проста: быть ленивым. О нет, это упрощение. OAuth 2.0 может упростить работу по разработке клиентов, включая веб-программы, настольные приложения, приложения и апплеты, которые могут использовать авторизацию OAuth 2.0.
Мы загружаем новое приложение на свой мобильный телефон и используем стороннюю авторизацию WeChat. На самом деле эта модель представляет собой авторизацию OAuth 2.0.
Сайт OAuth 2.0Можно сказать, что это правильноАвторизация OAuth 2.0
Лучшее введение、Самое полное место.
QR-код на самом деле называется QR-кодом на английском языке.,Полное имяQuick Response Code
,Впервые разработан японской компанией Denso Wave в 1994 году Придумано в году.
Краткое содержание одним предложением Сканируйте код, чтобы войти,QR-код содержитидентификатор сеанса
информация,После того, как пользователь сканирует код,идентификатор сеанса
+ Информация об авторизации пользователя
发送给серверпроверять,серверпроверять Если оно прошло, вход успешен.。
Я Брат Нэн, Нэн - это Нэн. Мне нравятся твои лайки, лайки и лайки на Get.
После прочтения мне понравилось, что Java более чем наполовину продвинут. Нравиться | собирать | Обратите внимание, ваша поддержка — самая большая мотивация для моего творчества.❤️