Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit 2c8e0b86 authored by Wolf-Martell Montwé's avatar Wolf-Martell Montwé Committed by GitHub
Browse files

Merge pull request #7190 from thundernest/fix_oauth2_for_yahoo_and_aol_accounts

Fix OAuth 2.0 for Yahoo and AOL
parents 8d8450bc 4ec59a88
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ import net.openid.appauth.AuthorizationRequest
import net.openid.appauth.AuthorizationResponse
import net.openid.appauth.AuthorizationService
import net.openid.appauth.AuthorizationServiceConfiguration
import net.openid.appauth.CodeVerifierUtil
import net.openid.appauth.ResponseTypeValues
import timber.log.Timber

@@ -80,9 +81,11 @@ class AuthorizationRepository(
            configuration.redirectUri.toUri(),
        )

        val codeVerifier = CodeVerifierUtil.generateRandomCodeVerifier()

        val authRequest = authRequestBuilder
            .setScope(configuration.scopes.joinToString(" "))
            .setCodeVerifier(null)
            .setCodeVerifier(codeVerifier)
            .setLoginHint(emailAddress)
            .build()

+4 −1
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ import app.k9mail.feature.account.oauth.domain.entity.AuthorizationResult
import assertk.all
import assertk.assertThat
import assertk.assertions.isEqualTo
import assertk.assertions.isNotEmpty
import assertk.assertions.isNotNull
import assertk.assertions.isNull
import assertk.assertions.prop
@@ -72,8 +73,10 @@ class AuthorizationRepositoryTest {
                prop(AuthorizationRequest::responseType).isEqualTo(ResponseTypeValues.CODE)
                prop(AuthorizationRequest::redirectUri).isEqualTo(oAuthConfiguration.redirectUri.toUri())
                prop(AuthorizationRequest::scope).isEqualTo("scope scope2")
                prop(AuthorizationRequest::codeVerifier).isNull()
                prop(AuthorizationRequest::loginHint).isEqualTo(emailAddress)
                prop(AuthorizationRequest::codeVerifier).isNotNull()
                prop(AuthorizationRequest::codeVerifierChallengeMethod).isEqualTo("S256")
                prop(AuthorizationRequest::codeVerifierChallenge).isNotNull().isNotEmpty()
            }
        }