Я пишу бессерверное приложение с AWS (Lambda, API Gateway, Cognito и т. Д.), И мне интересно, как лучше всего защитить свой стек.
Я читал, что для приложений, использующих сервер, EC2 или иное, лучше всего хранить токены идентификатора пользователя на бэкэнде. Это имеет смысл, поскольку процесс узла предоставит мне долгосрочное решение для зависания и повторного использования токенов идентификатора. С другой стороны, бессерверное приложение не предоставляет такой роскоши. Я подумал о том, чтобы оставить его на переднем плане, поскольку, в конце концов, токены JWT, предоставляемые когнито, подписаны и, следовательно, должны быть защищены от несанкционированного доступа, но с моей стороны это кажется немного тревожным. Я бы предпочел систему, в которой пользователи не имеют прямого доступа к своим собственным токенам. Я также думал о том, чтобы просто запрашивать новый токен для каждого запроса, отправленного в Lambda, но это тоже кажется далеко не идеальным решением.
Есть ли какие-то общепринятые передовые практики в отношении бессерверной аутентификации и авторизации? На правильном ли я пути, просто храню свои токены на стороне клиента, пока у пользователя открыто приложение?