Benoit Marty
1 day ago
committed by
GitHub
37 changed files with 202 additions and 142 deletions
@ -0,0 +1,51 @@
@@ -0,0 +1,51 @@
|
||||
/* |
||||
* Copyright 2024 New Vector Ltd. |
||||
* |
||||
* SPDX-License-Identifier: AGPL-3.0-only |
||||
* Please see LICENSE in the repository root for full details. |
||||
*/ |
||||
|
||||
package io.element.android.libraries.matrix.api.auth |
||||
|
||||
sealed interface OidcPrompt { |
||||
/** |
||||
* The Authorization Server must not display any authentication or consent |
||||
* user interface pages. |
||||
*/ |
||||
data object None : OidcPrompt |
||||
|
||||
/** |
||||
* The Authorization Server should prompt the End-User for |
||||
* reauthentication. |
||||
*/ |
||||
data object Login : OidcPrompt |
||||
|
||||
/** |
||||
* The Authorization Server should prompt the End-User for consent before |
||||
* returning information to the Client. |
||||
*/ |
||||
data object Consent : OidcPrompt |
||||
|
||||
/** |
||||
* The Authorization Server should prompt the End-User to select a user |
||||
* account. |
||||
* |
||||
* This enables an End-User who has multiple accounts at the Authorization |
||||
* Server to select amongst the multiple accounts that they might have |
||||
* current sessions for. |
||||
*/ |
||||
data object SelectAccount : OidcPrompt |
||||
|
||||
/** |
||||
* The Authorization Server should prompt the End-User to create a user |
||||
* account. |
||||
* |
||||
* Defined in [Initiating User Registration via OpenID Connect](https://openid.net/specs/openid-connect-prompt-create-1_0.html). |
||||
*/ |
||||
data object Create : OidcPrompt |
||||
|
||||
/** |
||||
* An unknown value. |
||||
*/ |
||||
data class Unknown(val value: String) : OidcPrompt |
||||
} |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
/* |
||||
* Copyright 2024 New Vector Ltd. |
||||
* |
||||
* SPDX-License-Identifier: AGPL-3.0-only |
||||
* Please see LICENSE in the repository root for full details. |
||||
*/ |
||||
|
||||
package io.element.android.libraries.matrix.impl.auth |
||||
|
||||
import io.element.android.libraries.matrix.api.auth.OidcPrompt |
||||
import org.matrix.rustcomponents.sdk.OidcPrompt as RustOidcPrompt |
||||
|
||||
internal fun OidcPrompt.toRustPrompt(): RustOidcPrompt { |
||||
return when (this) { |
||||
OidcPrompt.None -> RustOidcPrompt.None |
||||
OidcPrompt.Login -> RustOidcPrompt.Login |
||||
OidcPrompt.Consent -> RustOidcPrompt.Consent |
||||
OidcPrompt.SelectAccount -> RustOidcPrompt.SelectAccount |
||||
OidcPrompt.Create -> RustOidcPrompt.Create |
||||
is OidcPrompt.Unknown -> RustOidcPrompt.Unknown(value) |
||||
} |
||||
} |
@ -1,18 +0,0 @@
@@ -1,18 +0,0 @@
|
||||
/* |
||||
* Copyright 2024 New Vector Ltd. |
||||
* |
||||
* SPDX-License-Identifier: AGPL-3.0-only |
||||
* Please see LICENSE in the repository root for full details. |
||||
*/ |
||||
|
||||
package io.element.android.libraries.matrix.impl.fixtures.fakes |
||||
|
||||
import org.matrix.rustcomponents.sdk.EventShieldsProvider |
||||
import org.matrix.rustcomponents.sdk.NoPointer |
||||
import org.matrix.rustcomponents.sdk.ShieldState |
||||
|
||||
class FakeRustEventShieldsProvider( |
||||
private val shieldsState: ShieldState? = null, |
||||
) : EventShieldsProvider(NoPointer) { |
||||
override fun getShields(strict: Boolean): ShieldState? = shieldsState |
||||
} |
Loading…
Reference in new issue