How Nickel-Auth Works
Nickel-Auth is a secure authentication mechanism designed to work seamlessly with the Cobalt API app and Apple’s App Attest framework. Below is a technical explanation of how the system operates:
1. Workflow Overview
-
Nickel App requests a challenge from the Nickel-Auth Server.
-
Nickel-Auth Server generates a unique challenge and returns it to the app.
-
Nickel App uses Apple’s App Attest framework to generate an attestation using the received challenge.
-
Nickel App sends the attestation to the Nickel-Auth server for validation.
-
Nickel-Auth Server validates the attestation. If valid, it generates a temporary authentication key for the user.
-
Nickel App uses the authentication key to request a video download from the server.
-
Nickel-Auth Server validates the authentication key, then forwards the request to the Cobalt API server.
-
Cobalt API Server processes the request and returns a download/tunnel URL to the Nickel-Auth Server.
-
Nickel-Auth Server relays the download/tunnel URL back to the Nickel App.
-
Nickel App uses the provided URL to download the video directly to the device.
2. Why Nickel-Auth
- Turnstile Not Available for Swift: Nickel-Auth was developed as a secure alternative to traditional turnstile authentication, which is not natively supported in Swift.
For further technical details or support, please contact me at [email protected].