Я создаю API в Node с Serverless на AWS.
Между проектами и пользователями существует много-много взаимосвязей.
- Each User can have many projects
- Each Project can have many users
Каков наилучший способ гарантировать, что когда пользователь делает запрос, projectID
, который он запрашивает, принадлежит ему?
Аутентификация обрабатывается Cognito, в DynamoDB у меня есть ключ раздела, который содержит cognitoIdentityId
, а ключ сортировки - projectId
.
В настоящее время я думаю, что каждый раз, когда вызывается API, я проверяю в DynamoDB ключ раздела и ключ сортировки, и если он возвращается как true, это означает, что у пользователя есть доступ к проекту, а я продолжаю выполнять другие запросы. .
Однако я не уверен, является ли это особенно эффективным или есть ли лучшие способы, которыми это может быть достигнуто?