UserKey, или, лучше сказать, token , является состоянием на стороне клиента.Ваш RESTful API останется без сохранения состояния, поскольку он хранит этот токен не где.
Обычно этот токен представляет собой комбинацию некоторых сегментов (имя пользователя, пароль, дата входа в систему), хэшированных как MD5, SHA (или любой другой алгоритм). Когда клиент вызывает операцию вашего RESTful API , ваша служба будет сравнивать входящий токен с генерируемым на лету токеном, использующим те же сегменты.Если оба сгенерированных токена совпадают, запрос аутентифицируется.
Нет проблем с методами GET или POST: вам нужно получить свой токен из строки запроса или заголовка HTTP.
Точка для защиты вашего соединения - это вызов вашего RESTful API через SSL, поэтому ваша связь будет иметь высокий уровень безопасности.
Важная проблема с GET и отправкой этого токена с использованием строк запроса:возможно, он слишком длинный, и ограничения длины URL не позволят вам иметь множество аргументов в дополнение к самому токену.
По моему мнению, вам следует использовать глагол POST, потому что вы можете отправлять больше данных, это большегибкий и вы избегаете давать проблемные аргументы в строке запроса, что может быть плохо с точки зрения ведения журнала, поскольку вы собираетесь регистрировать имена пользователей, пароли, токены и другие вещи, которые являются конфиденциальной информацией, которая может поставить под угрозу ваших пользователей, если хакер воруетваши журналы (или какой-то нежелательный человек тоже проверяет ваш журнал).