Итак, прочитав много о BasicAuth, OAuth, JWT... и т. д., я придумал этот вопрос.
У меня есть клиент, в котором некоторые люди могут войти в систему (аутентификация выполнена). Когда люди хотят выполнить вызов API, они используют графический интерфейс клиента, и клиент отправляет некоторые запросы на конечную точку веб-сервиса.
host/resources/{id}
//id=path, res=post
public Response updateResourceById(String id, Resource res) {
....
Таким образом, типичный вызов обновления может быть
POST host/resources/1234 -d={ some json for a resource }
Теперь я не хочу, чтобы каждый пользователь имел все права для каждого ресурса, поэтому мне нужно добавить некоторую информацию о пользователе, который выполняет запрос.
Для этого я думал использовать некоторый токен JSON с некоторой полезной нагрузкой (или вообще с любой информацией о пользователе). Но мне было интересно, как правильно отправить этот токен в RESTful API.
Моей первой идеей было бы изменить код примерно так:
//id=path, token=post
public Response updateResourceById(String id, Token token) {
...
Конечная точка не изменит только данные POST.
Будет ли это правильным или есть другие подходы?
Редактировать: Также возможна отправка токена через HTTP-заголовок.