Termix-SSH / Termix-SSH/Support

[FEATURE] YubiKey and WebAuthn login for Termix Mobile

Open
#1,141 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

auth feature platform-android platform-ios platform-mobile security
Dominant language
No language data
Stars
28
Forks
4
PR merge metrics
No merged PRs in 30d

Description

Platform

Mobile app (iOS and Android)

Is it related to an issue?

Follow-up to #620. Mobile 1.4.0 already provides local App Lock with PIN and biometric unlock, but the native Termix account login flow does not provide a first-class WebAuthn/security-key path for server accounts.

OIDC users can use a provider-backed passkey or security key through the system browser. This request is specifically for Termix-native server accounts.

The Solution

Add WebAuthn/security-key authentication support to the Termix Mobile login flow so a registered YubiKey can be used to authenticate a Termix server account.

The implementation should:

  • expose a security-key/passkey login action when the connected Termix server supports WebAuthn
  • perform the ceremony through the platform-supported browser/authentication session on iOS and Android
  • return the verified result to the app without exposing credentials to the embedded WebView
  • support existing server-side WebAuthn registrations rather than creating a separate mobile-only credential store
  • preserve the existing password, TOTP, and OIDC login paths
  • distinguish unsupported server versions, user cancellation, timeout, and failed assertions
  • include validation on both iOS and Android with a physical YubiKey where platform transport support permits it
Non-goals
  • replacing the existing local App Lock PIN or biometric gate
  • requiring a YubiKey every time the app returns from the background
  • implementing provider-side OIDC WebAuthn, which already runs through the system browser
Acceptance criteria
  1. A user with an existing WebAuthn security key registered on the Termix server can select security-key login in Mobile.
  2. The platform authentication flow completes and returns an authenticated Termix session.
  3. Password/TOTP/OIDC login behavior remains unchanged.
  4. Cancellation and unsupported-device/server cases produce actionable errors.
  5. Automated coverage protects capability detection and callback/session handling; physical-key validation is documented for iOS and Android.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Termix Mobile login flow and determine how capability detection, platform authentication sessions, and callback/session handling are currently structured on iOS and Android. Define coverage for supported and unsupported servers, cancellation, timeouts, failed assertions, and unchanged password/TOTP/OIDC paths; document physical YubiKey validation for both platforms.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, ios
Domain
authentication, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.