2015-09-03 2 views
0

В настоящее время я создаю REST API с Rails4 в контексте школьного проекта, но я совершенно новый в создании API с аутентификацией токена: я ищу хорошие практики.Идентификация маркера API: хорошая практика

Я следил за правилами, изложенными в этом article. Это статья французского блога, но интересная часть - последнее правило, касающееся аутентификации токенов.

Если кто-то хочет пройти аутентификацию, он сначала должен отправить запрос на ввод (например, POST /sessions, с почтовыми данными и паролем в качестве почтового сообщения). Если аутентификация прошла успешно, сервер отвечает, отправив обратно токен (скажем, «abcd ...»).

Затем, если пользователь хочет получить доступ к API, он должен отправить токен обратно с запросом, но зашифрован. Например, если пользователь хочет перечислить всех пользователей, он запросит/пользовательский путь с запросом HTTP GET. Он также отправил следующий токен с его запросом: md5("abcd..." GET /users), а не непосредственно исходный токен, возвращенный API («abcd ...»).

Это хорошая практика? Действительно ли это необходимо или просто отправить исходный токен в каждом запросе достаточно?

Каков ваш совет по созданию аутентификации с токеном?

В моих исследованиях я также прочитал о JWT (JSON Web Token). Что это? Предполагается ли заменить оригинальный токен, возвращаемый API, или инкапсулировать токен, отправленный клиентом API для каждого запроса? Или что-то другое?

ответ

2

OAuth 2.0 был широко принят как процесс авторизации и есть много примеров/библиотеки там, чтобы использовать в качестве точки отсчета.

http://oauth.net/2/

+0

Из того, что я читаю, OAuth это скорее процесс авторизации, в котором пользователь сообщает мое заявление о том, что приложение стороннего производителя будет доступ к моему API через свой счет, а не процесс аутентификации для каждого запроса. Кажется, это не то, что я ищу. –

Смежные вопросы