Amazon Cognito нужно что-то объяснить - PullRequest
0 голосов
/ 04 апреля 2020

Я смотрю документацию AWS Amplify и AWS Cognito, и мне нужно кое-что объяснить. Возьмите следующий код:

Auth.signIn({
    username, // Required, the username
    password, // Optional, the password
    validationData, // Optional, a random key-value pair map which can contain any key and will be passed to your PreAuthentication Lambda trigger as-is. It can be used to implement additional validations around authentication
}).then(user => console.log(user))
.catch(err => console.log(err));

Here is some more code from the documentation:

Auth.signUp({
    username,
    password,
    attributes: {
        email,          // optional
        phone_number,   // optional - E.164 number convention
        // other custom attributes 
    },
    validationData: []  //optional
    })
    .then(data => console.log(data))
    .catch(err => console.log(err));

Мой вопрос: где хранятся токены? Вы храните их в состоянии? Если так, как они обновляются, когда они делают. Или Auth позаботится об этом, и вы можете просто вызвать auth, когда вам нужно. Если это так, вы должны обернуть весь свой ап с помощью Authenticator? Я не понимаю этого. Спасибо!

Кроме того, если вам нужна защищенная конечная точка с AppSyn c, как это работает? Это автоматически проверяет аутентификацию? Вы не отправляете токен, поэтому я не понимаю, как это работает. Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 05 апреля 2020

Если вы используете Amplify, он сохранит элементы управления внутри LocalStorage. Это будет управляться библиотекой Amplify. Он также отвечает за запрос нового токена по истечении срока действия первого токена. Опять же: вам не нужно беспокоиться об этом, библиотека справится за вас.

Дело в том, что вы также должны использовать Amplify для отправки запроса o AppSyn c. Когда вы используете Amplify, библиотека увидит, что вы делаете запрос к AWS ресурсу, и вы вошли в Cognito, и добавит необходимые HTTP-заголовки к запросу перед его отправкой. Все это будет сделано для вас библиотекой Amplify. Вы можете просто использовать его ..

...