Files
letro-ios/ElementX/Sources/Screens/Authentication/LoginScreen/LoginMode.swift
Doug 2461933993 Simplify authentication logic
matrix.org now supports MAS so we don't need the web registration helper anymore.
2025-04-11 11:22:39 +01:00

28 lines
779 B
Swift

//
// Copyright 2022-2024 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
// Please see LICENSE files in the repository root for full details.
//
import Foundation
/// The supported forms of login that a homeserver allows.
enum LoginMode: Equatable {
/// The login mode hasn't been determined yet.
case unknown
/// The homeserver supports login via OpenID Connect.
case oidc(supportsCreatePrompt: Bool)
/// The homeserver supports login with a password.
case password
/// The homeserver only allows login with unsupported mechanisms. Use fallback instead.
case unsupported
var supportsOIDCFlow: Bool {
switch self {
case .oidc: true
default: false
}
}
}