Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated Apr 29, 2024

LegacyYou are viewing Gen 1 documentation. Switch to the latest Gen 2 docs →

Listen to auth events

AWS Cognito Auth Plugin sends important events through Amplify Hub.

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// Assumes `unsubscribeToken` is declared as an instance variable in your view
unsubscribeToken = Amplify.Hub.listen(to: .auth) { payload in
switch payload.eventName {
case HubPayload.EventName.Auth.signedIn:
print("User signed in")
// Update UI
case HubPayload.EventName.Auth.sessionExpired:
print("Session expired")
// Re-authenticate the user
case HubPayload.EventName.Auth.signedOut:
print("User signed out")
// Update UI
case HubPayload.EventName.Auth.userDeleted:
print("User deleted")
// Update UI
default:
break
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// Assumes `sink` is declared as an instance variable in your view controller
sink = Amplify.Hub
.publisher(for: .auth)
.sink { payload in
switch payload.eventName {
case HubPayload.EventName.Auth.signedIn:
print("User signed in")
// Update UI
case HubPayload.EventName.Auth.sessionExpired:
print("Session expired")
// Re-authenticate the user
case HubPayload.EventName.Auth.signedOut:
print("User signed out")
// Update UI
case HubPayload.EventName.Auth.userDeleted:
print("User deleted")
// Update UI
default:
break
}
}
}