Я использую vue js и подключаюсь к aws пулу пользователей через амплификацию, используя
Auth.federatedSignIn();
После того, как пользователь из aws успешно расширит гостевой интерфейс, они будут перенаправлены обратно на мою домашнюю страницу (Приложение. vue ниже).
Я пытаюсь получить аутентифицированного пользователя при создании страницы, но он выдает «не аутентифицирован».
Я пытаюсь снова вызвать функцию (или обновить sh страницу), и пользователь может быть найден.
Я также пытаюсь использовать setTimeout, чтобы добавить задержку, но Кажется, vue не обновляет страницу, которую я не вижу на экране моего currentUser.
Что будет лучшим способом получения аутентифицированного пользователя сразу после обратного вызова?
App.vue
<template>
<div id="app">
<v-btn @click="getAgain()">Get again</v-btn> #just a button to call again, and it able to get the user
<h1 v-if="currentUser">user id : {{currentUser}}</h1>
</div>
</template>
<script>
import { Auth } from "aws-amplify";
export default {
name: 'app',
components: {
},
data() {
return {
currentUser: null
}
},
created() {
Auth.currentAuthenticatedUser()
.then(user => {
this.currentUser = user;
console.log(user);
})
.catch(e => {});
},
methods: {
getAgain() {
Auth.currentAuthenticatedUser()
.then(user => {
this.currentUser = user;
})
.catch(e => {});
}
}
}
</script>