Skip to content

Instantly share code, notes, and snippets.

View KRostyslav's full-sized avatar
🇺🇦
Ukraine

Ros K. KRostyslav

🇺🇦
Ukraine
View GitHub Profile
@KRostyslav
KRostyslav / passwords.md
Created January 30, 2018 19:11 — forked from zmts/passwords.md
Про хранение паролей в БД

Про хранение паролей в БД

При создании нового юзера

  1. При регистрации юзер вводит некий пароль
  2. Генерим случайную соль индивилуально для каждого юзера
  3. Создаем хеш на основе введенного юзером пароля и соли
  4. Записываем хеш(не пароль) в БД + соль в отдельном филде

Авторизация существующего юзера

  1. Юзер вводит в поле авторизации некий пароль
@KRostyslav
KRostyslav / tokens.md
Created January 30, 2018 19:10 — forked from zmts/tokens.md
Про токены, JSON Web Tokens (JWT), аутентификацию и авторизацию

Token-Based Authentication(JWT)

Preconditions:

В данной заметке рассматривается работа JWT с симметичным алгоритмом шифрования (HS256/HS384/HS512)

Основы:

Аутентификация(authentication, от греч. αὐθεντικός [authentikos] – реальный, подлинный; от αὐθέντης [authentes] – автор) - это процесс проверки учётных данных пользователя (логин/пароль). Проверка подлинности пользователя путём сравнения введённого им пароля с паролем, сохранённым в базе данных пользователей;

Авторизация(authorization — разрешение, уполномочивание) - это проверка прав пользователя на доступ к определенным ресурсам.

@KRostyslav
KRostyslav / PUTvsPOSTvsPATCH.md
Created January 30, 2018 19:10 — forked from zmts/PUTvsPOSTvsPATCH.md
PUT or POST or PATCH?

PUT or POST or PATCH? PATCH!

TL;DR

POST для создания новых ресурсов
POST для остальных кастомных глаголов
PATCH для обновления ресурсов. В 99,99% на обновление уходят не все поля ('created_at' и 'updated_at' так точно)
На PUT можно забить =)