Skip to content

Device Linking

Device linking allows you to sign in to an Odeion app on a new device without typing your server URL and password. Instead, you generate a short code on a device where you are already logged in and enter it on the new device.

  1. On a device where you’re already signed in, generate a link code from Settings. The web and mobile apps both expose it in the same place. A 5-character alphanumeric code is displayed (for example, ABC12).

  2. Open the Odeion app on the device you want to sign in to (phone, TV, Roku, etc.) and select the device code login option. Enter the 5-character code.

  3. The new device resolves the code through the link service, connects to your server, and completes the login automatically.

The flow bridges the gap between the new device (which does not know your server URL yet) and your server through a public relay:

PropertyValue
Relay servicelink.odeion.app, holds codes in memory only
Code format5 alphanumeric characters
Validity10 minutes, single-use
What the relay storesYour server’s URL plus a short-lived login token, deleted on use or expiry

Generating a code registers a login token and your server URL with the relay. Entering the code on the new device resolves that mapping, and the device connects to your server directly to finish the login. The session that results is a normal server-side session for your account.

  • A mistyped or expired code fails with an invalid-code error. Codes are not guessable in practice, and there is no lockout: just generate a fresh code and try again.
  • A code that was already used cannot be redeemed twice; generate a new one.
  • A locked account cannot complete a device login.

Device linking requires your Odeion server to be accessible over HTTPS at its configured base URL. The link service needs to be able to include your server’s URL in the code mapping, and the device completing the login needs to reach your server to finalize authentication.

If your server is only accessible on a local network (no public HTTPS), device linking will not work. In that case, use the server URL + username/password login option instead.