Автоматический выход Cognito через час подходит для моего приложения.Тем не менее, я хотел бы уведомить пользователей с помощью диалогового окна, которое уведомляет их о том, что они скоро выйдут из системы, и если они захотят продолжить.
Я занимаюсь разработкой приложения для Angular, но помощь на любом языке была бы полезной.
Я не получаю токен обновления в объекте пользователя, так что это может усложнить ситуацию.Пока не знаю, как они работают.
В настройках клиента Cognito я выбрал Неявное предоставление, электронная почта, openid и aws.cognito.signin.user.admin.Так как это для приложения Angular, я не хочу секретный ключ.Тем не менее, в любом случае, объект включен в объект ответа пользователя, и мне нужно как-то от него избавиться.
В документах Amplify для Angular я нашел этот код.Это выглядит полезным, но до сих пор я не правильно его подключил и ничего не сделал.Я звоню из OnInit, чтобы он вызывался при запуске представления.Я вставил console.logs через него, и ничего не происходит.
Это называется, все console.logs публикуются, когда я намеренно выхожу из системы.Не уверен, что я забочусь об этом, потому что Cognito выводит пользователей на домашнюю страницу, и это нормально.
Это то место, где я должен начать и что мне не хватает сейчас?
import { AmplifyService } from 'aws-amplify-angular';
public getStateChanges() {
this.amplifyService.authStateChange$
.subscribe(authState => {
let signedIn = authState.state === 'signedIn';
console.log("signedIn: ", signedIn);
if (!authState.user) {
this.user = null;
console.log('Logged out!');
} else {
this.user = authState.user;
this.greeting = "Hello " + this.user.username;
console.log('greeting: ', this.greeting);
}
});
}