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 view6 unsubscribeToken = Amplify.Hub.listen(to: .auth) { payload in7 switch payload.eventName {8 case HubPayload.EventName.Auth.signedIn:9 print("User signed in")10 // Update UI11
12 case HubPayload.EventName.Auth.sessionExpired:13 print("Session expired")14 // Re-authenticate the user15
16 case HubPayload.EventName.Auth.signedOut:17 print("User signed out")18 // Update UI19
20 case HubPayload.EventName.Auth.userDeleted:21 print("User deleted")22 // Update UI23
24 default:25 break26 }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 controller6 sink = Amplify.Hub7 .publisher(for: .auth)8 .sink { payload in9 switch payload.eventName {10 case HubPayload.EventName.Auth.signedIn:11 print("User signed in")12 // Update UI13
14 case HubPayload.EventName.Auth.sessionExpired:15 print("Session expired")16 // Re-authenticate the user17
18 case HubPayload.EventName.Auth.signedOut:19 print("User signed out")20 // Update UI21
22 case HubPayload.EventName.Auth.userDeleted:23 print("User deleted")24 // Update UI25
26 default:27 break28 }29 }30}