Page updated Nov 14, 2023

Listen to auth events

AWS Cognito Auth Plugin sends important events through Amplify Hub.

Amplify iOS v1 is now in Maintenance Mode until May 31st, 2024. This means that we will continue to include updates to ensure compatibility with backend services and security. No new features will be introduced in v1.

Please use the latest version (v2) of Amplify Library for Swift to get started.

If you are currently using v1, follow these instructions to upgrade to v2.

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 } } }
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}