Skip to main content
Version: Next

iOS Delegated User APIs

External authentication APIs for third-party identity providers. Use when your app manages its own user authentication and you want to integrate with Vipaso without using Vipaso's identity system. Access these APIs through vipaso.user.delegated.

Delegated Authentication

Establish Authentication

Connect your existing authentication system with Vipaso. Call this method after your user logs in through your own authentication system:

do {
try await vipaso.user.delegated.establishAuthentication(
userIdentifier: "your-user-id-123",
connect: { jwk in
// 1. Send the JWK to your backend endpoint
// 2. Your backend should process the JWK and return an encrypted token
// 3. Return that token here

// Example implementation:
return try await yourBackendService.processJWK(jwk)
}
)
// Authentication established successfully
// User can now access Vipaso features
} catch {
// Handle authentication error
print("Delegated authentication failed: \(error.localizedDescription)")
}

Logout

Log out the current delegated user:

vipaso.user.delegated.logout()
// Authentication state change will be sent via delegate

Notes

  • Call Timing: Call establishAuthentication() after your user logs in and on each app start
  • Backend Integration: Your backend must process the JWK and return an encrypted token