diff --git a/app/src/main/kotlin/com/wire/android/feature/e2ei/GetE2EICertificateUseCase.kt b/app/src/main/kotlin/com/wire/android/feature/e2ei/GetE2EICertificateUseCase.kt index b62fa991096..9dfd87df71c 100644 --- a/app/src/main/kotlin/com/wire/android/feature/e2ei/GetE2EICertificateUseCase.kt +++ b/app/src/main/kotlin/com/wire/android/feature/e2ei/GetE2EICertificateUseCase.kt @@ -48,7 +48,7 @@ class GetE2EICertificateUseCase @Inject constructor( }, { if (it is E2EIEnrollmentResult.Initialized) { initialEnrollmentResult = it - OAuthUseCase(context, it.target, it.oAuthState).launch( + OAuthUseCase(context, it.target, it.oAuthClaims, it.oAuthState).launch( context.getActivity()!!.activityResultRegistry, ::oAuthResultHandler ) diff --git a/app/src/main/kotlin/com/wire/android/feature/e2ei/OAuthUseCase.kt b/app/src/main/kotlin/com/wire/android/feature/e2ei/OAuthUseCase.kt index 6e0476116e9..8beffcef6f9 100644 --- a/app/src/main/kotlin/com/wire/android/feature/e2ei/OAuthUseCase.kt +++ b/app/src/main/kotlin/com/wire/android/feature/e2ei/OAuthUseCase.kt @@ -28,6 +28,7 @@ import androidx.activity.result.ActivityResultRegistry import androidx.activity.result.contract.ActivityResultContracts import com.wire.android.appLogger import com.wire.android.util.deeplink.DeepLinkProcessor +import kotlinx.serialization.json.JsonObject import net.openid.appauth.AppAuthConfiguration import net.openid.appauth.AuthState import net.openid.appauth.AuthorizationException @@ -41,6 +42,7 @@ import net.openid.appauth.ResponseTypeValues import net.openid.appauth.browser.BrowserAllowList import net.openid.appauth.browser.VersionedBrowserMatcher import net.openid.appauth.connectivity.ConnectionBuilder +import org.json.JSONObject import java.net.HttpURLConnection import java.net.URL import java.security.MessageDigest @@ -52,7 +54,7 @@ import javax.net.ssl.SSLContext import javax.net.ssl.TrustManager import javax.net.ssl.X509TrustManager -class OAuthUseCase(context: Context, private val authUrl: String, oAuthState: String?) { +class OAuthUseCase(context: Context, private val authUrl: String, private val claims: JsonObject, oAuthState: String?) { private var authState: AuthState = oAuthState?.let { AuthState.jsonDeserialize(it) } ?: AuthState() @@ -177,7 +179,8 @@ class OAuthUseCase(context: Context, private val authUrl: String, oAuthState: St AuthorizationRequest.Scope.EMAIL, AuthorizationRequest.Scope.PROFILE, AuthorizationRequest.Scope.OFFLINE_ACCESS - ).build() + ).setClaims(JSONObject(claims.toString())) + .build() private fun AuthorizationRequest.Builder.setCodeVerifier(): AuthorizationRequest.Builder { val codeVerifier = getCodeVerifier() diff --git a/app/src/test/kotlin/com/wire/android/ui/home/conversations/search/SearchUserViewModelTest.kt b/app/src/test/kotlin/com/wire/android/ui/home/conversations/search/SearchUserViewModelTest.kt index 9029b72f584..845c3a2f721 100644 --- a/app/src/test/kotlin/com/wire/android/ui/home/conversations/search/SearchUserViewModelTest.kt +++ b/app/src/test/kotlin/com/wire/android/ui/home/conversations/search/SearchUserViewModelTest.kt @@ -38,7 +38,6 @@ import io.mockk.coEvery import io.mockk.coVerify import io.mockk.every import io.mockk.impl.annotations.MockK -import io.mockk.verify import kotlinx.coroutines.test.runTest import org.amshove.kluent.internal.assertEquals import org.junit.jupiter.api.Test @@ -77,7 +76,7 @@ class SearchUserViewModelTest { ) } - verify(exactly = 1) { + coVerify(exactly = 1) { arrangement.federatedSearchParser(any()) } } @@ -114,7 +113,7 @@ class SearchUserViewModelTest { ) } - verify(exactly = 1) { + coVerify(exactly = 1) { arrangement.federatedSearchParser(any()) } } @@ -170,7 +169,7 @@ class SearchUserViewModelTest { ) } - verify(exactly = 1) { + coVerify(exactly = 1) { arrangement.federatedSearchParser(any()) } diff --git a/kalium b/kalium index aa8d9077dcf..aa9e9c44a15 160000 --- a/kalium +++ b/kalium @@ -1 +1 @@ -Subproject commit aa8d9077dcf4be11b174de6f78f3ed5869765edf +Subproject commit aa9e9c44a15ef08671b37521f72e29483bd80139