Skip to content

OwnID/ownid-ios-sdk

Repository files navigation

OwnID

OwnID iOS SDK

OwnID Core iOS SDK version OwnID SwiftUI iOS SDK version

OwnID iOS SDK helps apps add passkey-first authentication, account verification, and passkey enrollment while keeping the app in control of its users, sessions, and identity-provider setup.

Install

Use the smallest SDK that covers the flow or feature your app needs.

Add Provides
Core SDK
OwnIDCore
SDK configuration, providers, built-in Sign in with Apple support, Elite Flow, Headless, Passkey Enrollment, WebBridge, and passkey authentication flows.
SwiftUI SDK
OwnIDSwiftUI
Boost widgets, SDK-provided SwiftUI operation UI, app-hosted operation UI, themes, colors, and reusable UI components. Depends on Core.

Both SDK products require:

  • iOS 13.0+
  • Swift 6
  • Xcode 16.0+

Swift Package Manager

Add the package:

dependencies: [
    .package(url: "https://github.com/OwnID/ownid-ios-sdk.git", from: "<latest-version>")
]

Then add the product your app target uses.

Core SDK:

.product(name: "OwnIDCore", package: "OwnID")

SwiftUI SDK:

.product(name: "OwnIDSwiftUI", package: "OwnID")

Note

OwnIDSwiftUI depends on OwnIDCore. Add OwnIDCore separately only when your app target imports both modules directly.

CocoaPods Compatibility Fallback

CocoaPods

For CocoaPods-only apps, use a pinned public git tag as a compatibility fallback.

target "YourApp" do
  pod "OwnIDCore",
    :git => "https://github.com/OwnID/ownid-ios-sdk.git",
    :tag => "<version>"
end

If your app uses OwnIDSwiftUI, declare both pods from the same tag:

target "YourApp" do
  pod "OwnIDCore",
    :git => "https://github.com/OwnID/ownid-ios-sdk.git",
    :tag => "<version>"

  pod "OwnIDSwiftUI",
    :git => "https://github.com/OwnID/ownid-ios-sdk.git",
    :tag => "<version>"
end

Enable Passkeys

OwnID uses Apple's AuthenticationServices framework for passkey creation and authentication. Platform passkeys work on iOS 16 and higher.

Associated Domains

Passkeys require your app and relying party domain to be associated with Apple's webcredentials service.

Use the same relying party domain that OwnID uses for passkey requests.

In Xcode, add the Associated Domains capability to the app target, then add:

webcredentials:<relying-party-domain>

Host an Apple App Site Association file at:

https://<relying-party-domain>/.well-known/apple-app-site-association

The file must be publicly available over HTTPS, return HTTP 200, use a JSON content type, avoid redirects, stay under 128 KB, and have no .json extension.

{
  "webcredentials": {
    "apps": [
      "<APP_ID_PREFIX>.<BUNDLE_ID>"
    ]
  }
}

Add each app target that should use passkeys as <APP_ID_PREFIX>.<BUNDLE_ID>. This value must match the signed app's application-identifier entitlement. The App ID prefix is usually the Apple Team ID; if it differs, use the prefix from the signed app or provisioning profile.

See Apple's Supporting associated domains and Associated Domains Entitlement for the platform requirements and validation behavior.

Start Here

  1. Install the SDK for your flow or feature.
  2. Enable Passkeys as baseline SDK setup.
  3. Configure OwnID before using the SDK.
  4. Register providers required by the OwnID functionality and identity systems your app uses. Implement app-specific providers in your app; copy source-only helpers from Providers/ only when the Providers guide calls for them.

After setup, choose the integration path that matches the screen or user journey you are building.

App need Use SDK product Start with
Add OwnID to an existing native login screen Boost Login Widget SwiftUI SDK Boost Flow
Add create-passkey to account creation Boost Create Passkey Widget SwiftUI SDK Boost Flow
Use hosted OwnID authentication UI in the app Elite Flow Core SDK Elite Flow
Build fully custom native authentication UI Headless Core SDK Headless
Add a passkey for a signed-in user Passkey Enrollment Core SDK Passkey Enrollment
Connect OwnID Web SDK inside an app WKWebView WebBridge Core SDK WebBridge

Tip

Migrating from OwnID SDK version 3? Start with Migration from Version 3 to Version 4.

The full documentation map is in Documentation.

Examples

  • DemoBase shows standard SDK setup, Boost Flow, Elite Flow, Headless, Passkey Enrollment, and example identity-provider wiring.
  • DemoAdvanced shows customized Boost widgets, app-hosted operation UI, low-level API and operation scenarios, Headless, and Google provider wiring.

These apps are examples. Use public SDK source, published products, and documentation as the integration contract.

Data Safety

See Data Safety for SDK data handling notes.

Support

For integration help, contact support@ownid.com.

License

This SDK is distributed under the Apache 2.0 license.

About

OwnID iOS SDK

Resources

License

Stars

1 star

Watchers

2 watching

Forks

Contributors

Languages