Я пытаюсь обеспечить аутентификацию моего отдыха api, поэтому только доверенные приложения могут использовать этот api. Я искал лучшие практики и руководства, но ни один из них на самом деле не объясняет это в реальном мире.Защита остального api с помощью jwt
Я создал jsonwebtoken аутентификации, подобную этой:
if(!user){
res.json({success:false, message: 'auth failed, user not found'});
} else {
var token = jwt.sign(user, app.get('superSecret'), {
expiresIn: 1440 //24 hours
});
res.json({
success: true,
message: 'token generated',
token: token
});
}
Это хорошо работает, возвращая токен, который я могу затем передавать все запросы к API, но как я могу сделать приложение найти этот маркер и использование он вместо этого вручную передает токен каждый вызов api?
Я видел, что в большинстве случаев вы можете создать специальный api-ключ в приложении и включить эту информацию в приложение клиента, которая работает вроде как токен, и нет необходимости запрашивать новый токен с сервера ,
Как это работает или как мне создать доверенные ключи приложений для моего спокойного сервиса?
да, это помогло мне немного.попытается выполнить аутентификацию api без пользовательской части, чтобы вы могли потреблять api в приложении, но каждый пользователь этого приложения имеет к ней доступ. –
Помните, что вы хотите, чтобы пользователь вошел в систему до того, как он обратится к API, иначе кто-либо из внешний мог бы использовать Postman, например, и получить доступ к конечным точкам. – nickcorin
, но зачем идти за токенами, если вы храните их на сервере? Если вы это сделаете, вы можете просто использовать файлы cookie сеанса. И я уверен, что вы можете декодировать полезную нагрузку своих токенов, но вы не можете получить «сверхсекрет» из нее. Это отличная статья, чтобы лучше понять маркеры: https://auth0.com/blog/ten-things-you- должны-ноу-о-токены и-печенье / –