Page updated Jan 16, 2024

Listen to auth events

AWS Cognito Auth Plugin sends important events through Amplify Hub.

1override func viewDidLoad() {
2 super.viewDidLoad()
3 // Do any additional setup after loading the view.
4
5 // Assumes `unsubscribeToken` is declared as an instance variable in your view
6 unsubscribeToken = Amplify.Hub.listen(to: .auth) { payload in
7 switch payload.eventName {
8 case HubPayload.EventName.Auth.signedIn:
9 print("User signed in")
10 // Update UI
11
12 case HubPayload.EventName.Auth.sessionExpired:
13 print("Session expired")
14 // Re-authenticate the user
15
16 case HubPayload.EventName.Auth.signedOut:
17 print("User signed out")
18 // Update UI
19
20 case HubPayload.EventName.Auth.userDeleted:
21 print("User deleted")
22 // Update UI
23
24 default:
25 break
26 }
27 }
28}
1override func viewDidLoad() {
2 super.viewDidLoad()
3 // Do any additional setup after loading the view.
4
5 // Assumes `sink` is declared as an instance variable in your view controller
6 sink = Amplify.Hub
7 .publisher(for: .auth)
8 .sink { payload in
9 switch payload.eventName {
10 case HubPayload.EventName.Auth.signedIn:
11 print("User signed in")
12 // Update UI
13
14 case HubPayload.EventName.Auth.sessionExpired:
15 print("Session expired")
16 // Re-authenticate the user
17
18 case HubPayload.EventName.Auth.signedOut:
19 print("User signed out")
20 // Update UI
21
22 case HubPayload.EventName.Auth.userDeleted:
23 print("User deleted")
24 // Update UI
25
26 default:
27 break
28 }
29 }
30}