Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions ios/LoginKitSample/Classes/LoginViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,13 @@ extension LoginViewController {
let data = response["data"] as? [String: Any],
let me = data["me"] as? [String: Any],
let displayName = me["displayName"] as? String,
let bitmoji = me["bitmoji"] as? [String: Any],
let avatar = bitmoji["avatar"] as? String else {
return
}
let bitmoji = me["bitmoji"] as? [String: Any] else { return }

// Needs to be on the main thread to control the UI.
DispatchQueue.main.async {
self.loadAndDisplayAvatar(url: URL(string: avatar))
if let avatar = bitmoji["avatar"] as? String {
self.loadAndDisplayAvatar(url: URL(string: avatar))
}
self.nameLabel?.text = displayName
}
}
Expand Down Expand Up @@ -119,9 +118,7 @@ extension LoginViewController {
}

@IBAction func logoutButtonDidTap(_ sender: UIBarButtonItem) {
SCSDKLoginClient.unlinkAllSessions { (success: Bool) in
self.displayForLogoutState()
}
SCSDKLoginClient.clearToken()
}
}

Expand All @@ -130,6 +127,7 @@ extension LoginViewController {
extension LoginViewController {
override func viewDidLoad() {
super.viewDidLoad()
SCSDKLoginClient.addLoginStatusObserver(self)

if SCSDKLoginClient.isUserLoggedIn {
displayForLoginState()
Expand All @@ -139,3 +137,9 @@ extension LoginViewController {
}
}

extension LoginViewController: SCSDKLoginStatusObserver {
func scsdkLoginDidUnlink() {
self.displayForLogoutState()
}
}