Browse docs

iOS SDK

Swift client for iOS 15+ / macOS 12+. Keychain token storage, async/await throughout, deep-link OAuth callback.

Install (Swift Package Manager)

.package(url: "https://github.com/kolaylogin/kolaylogin-ios", from: "0.1.0"),

Bootstrap

import KolayLogin

let kolay = KolayLogin(baseURL: URL(string: "https://api.kolaylogin.com")!)

let ok = try await kolay.signInEmailPassword(
  email: "user@example.com",
  password: "…"
)

// SwiftUI deep-link handler
.onOpenURL { url in
  kolay.ingest(url: url)
}

Attach to your requests

var req = URLRequest(url: URL(string: "https://api.yourapp.com/me")!)
kolay.authHeaders().forEach {
  req.setValue($0.value, forHTTPHeaderField: $0.key)
}

The JWT lives in the Keychain with kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly, so it stays signed-in across app launches but never leaves the device.