Need to configure your backend?See Build a Backend →
認証イベントのリスン
Amplify Auth は認証フロー中にイベントを発行します。これにより、ユーザーフローをリアルタイムで監視し、カスタムビジネスロジックをトリガーできます。たとえば、データをキャプチャし、アプリの状態を同期し、ユーザーエクスペリエンスをパーソナライズしたい場合があります。サインインやサインアウトなど、Auth ライフサイクル全体のイベントをリスンして対応できます。
AWS Cognito Auth プラグインは、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 } }}