[Moscow.pm] Аутентификация для REST API
Ivan Petrov
i.petro.77.00 на gmail.com
Чт Сен 22 04:26:07 PDT 2016
> Привет.
> Если третьим лицам ничего делегировать не нужно. Используй подписанные куки,
> это надёжный, простой и удобный механизм.
имхо для API использовать куки очень нехорошее решение. ввиду чистого
неудобства.
для API лучше всего подходит
1. "забыть про авторизацию" (она же - авторизация по URL), то есть в URL
включен скажем UUID/токен, который невозможно подобрать (но можно
поменять на выбранный пир)
2. подписи (многие банки применяют)
- в каждый запрос добавляется скажем timestamp - когда он
формировался
- этот timestamp (вместе с какими-либо другими параметрами)
подписывается по какому-то правилу (скажем sha1($timestamp .
$secret))
- подпись приатачивается к каждому запросу
во втором случае можно исключить повторение запросов, даже если их
перехватили (ввести понятие TTL запроса).
Можно еще вводить понятие (UU)ID запроса (многие банки тоже делают)
PS: в последнее время я не оч хорошо отношусь к идее собственно REST.
то есть с REST (использование транспортных кодов в качестве кодов
логики) надо быть осторожными ибо иногда натыкаешься на то что коды
эти пересекаются. Ответ кода в теле а не в транспортной инфраструктуре
кажется лучшим решением.
Подробная информация о списке рассылки Moscow-pm