Всем привет. Я начинающая Node.js макака и столкнулся с такой проблемой, что все авторизации/аутентификации я делаю машинально how to copy and paste from stackoverflow. Я уже порядком заебался читать про какие-то токены-хуекены со стороны сервера клиента и прочего. Хочу понять, как это все работает. Гугл обычно выдает какие-то сложные схемы клиента и сервера и говорит "вот смотри тут стрелочка сюда токен сюда и т.п."Как я понимаю, очень много сервисов юзает OAuth (или что то такое).Есть ли какая-то статья для даунов js девелопера, чтобы пиздец понятно было не только как это работает, но и почему оно так работает. Т.е. почему именно столько токенов и именно такие действия обмена совершаются, а не как иначе.Спасибо всем, кто поможет.
Начнем с того, что для авторизации есть специальная либа Passport, предназначенная для решения большинства задач логина. В ней есть т.н. стратегии, которые определяют логику авторизации. Если речь идет про авторизацию в сторонних сервисах с OAuth,то скорее всего для них есть готовые стратегии, где тебе надо будет только пихнуть данные от нужного сайта и сказать, что произойдет, когда юзер на этом сайте войдет. Сложнее, если авторизация именно на твоем сервисе. Тут есть два варианта: логин - пароль для сессий в браузере и токены для мобильного апи. Эти задачи также решаемы Passport, но требуется самому сделать стратегии для вышеперечисленных методов. С логином все просто- поступил запрос, ты пишешь данные в базу(или находишь имеющиеся) и говоришь паспорту, что все готово. Он автоматически создаст сессию и req.user. Ежели надо токены, то я не использую OAuth, a стратегию express-http-bearer. Очень простая логика для проверки, и не требует особой анальной боли.
>>901922 (OP)на Хаскеле ебани
>>901922 (OP)Если хочешь разобраться в OAuth, рекомендую туториал от автора спеки:https://hueniverse.com/oauth/guide/У него вообще занятный блог, в частности он обильно поливает говном OAuth2 он был главным редактором спеки, но охуел от давления гуглов-фейсбуков и в конце убрал своё имя из авторов
>>913828>hueniverse