В настоящее время я создаю REST API с Rails4 в контексте школьного проекта, но я совершенно новый в создании API с аутентификацией токена: я ищу хорошие практики.Идентификация маркера API: хорошая практика
Я следил за правилами, изложенными в этом article. Это статья французского блога, но интересная часть - последнее правило, касающееся аутентификации токенов.
Если кто-то хочет пройти аутентификацию, он сначала должен отправить запрос на ввод (например, POST /sessions
, с почтовыми данными и паролем в качестве почтового сообщения). Если аутентификация прошла успешно, сервер отвечает, отправив обратно токен (скажем, «abcd ...»).
Затем, если пользователь хочет получить доступ к API, он должен отправить токен обратно с запросом, но зашифрован. Например, если пользователь хочет перечислить всех пользователей, он запросит/пользовательский путь с запросом HTTP GET. Он также отправил следующий токен с его запросом: md5("abcd..." GET /users)
, а не непосредственно исходный токен, возвращенный API («abcd ...»).
Это хорошая практика? Действительно ли это необходимо или просто отправить исходный токен в каждом запросе достаточно?
Каков ваш совет по созданию аутентификации с токеном?
В моих исследованиях я также прочитал о JWT (JSON Web Token). Что это? Предполагается ли заменить оригинальный токен, возвращаемый API, или инкапсулировать токен, отправленный клиентом API для каждого запроса? Или что-то другое?
Из того, что я читаю, OAuth это скорее процесс авторизации, в котором пользователь сообщает мое заявление о том, что приложение стороннего производителя будет доступ к моему API через свой счет, а не процесс аутентификации для каждого запроса. Кажется, это не то, что я ищу. –