0
0
mirror of https://github.com/thunderbird/thunderbird-android.git synced 2024-09-20 04:02:14 +02:00

Change K-9 Mail OAuth configuration

This commit is contained in:
Wolf-Martell Montwé 2024-07-29 15:25:51 +02:00
parent a2c9b0ac90
commit 4676efb678
No known key found for this signature in database
GPG Key ID: 6D45B21512ACBF72
3 changed files with 85 additions and 50 deletions

View File

@ -118,28 +118,6 @@ android {
getDefaultProguardFile("proguard-android.txt"), getDefaultProguardFile("proguard-android.txt"),
"proguard-rules.pro", "proguard-rules.pro",
) )
buildConfigField(
"String",
"OAUTH_GMAIL_CLIENT_ID",
"\"262622259280-hhmh92rhklkg2k1tjil69epo0o9a12jm.apps.googleusercontent.com\"",
)
buildConfigField(
"String",
"OAUTH_YAHOO_CLIENT_ID",
"\"dj0yJmk9aHNUb3d2MW5TQnpRJmQ9WVdrOWVYbHpaRWM0YkdnbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PWIz\"",
)
buildConfigField(
"String",
"OAUTH_AOL_CLIENT_ID",
"\"dj0yJmk9dUNqYXZhYWxOYkdRJmQ9WVdrOU1YQnZVRFZoY1ZrbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PWIw\"",
)
buildConfigField("String", "OAUTH_MICROSOFT_CLIENT_ID", "\"e647013a-ada4-4114-b419-e43d250f99c5\"")
buildConfigField(
"String",
"OAUTH_MICROSOFT_REDIRECT_URI",
"\"msauth://com.fsck.k9/Dx8yUsuhyU3dYYba1aA16Wxu5eM%3D\"",
)
} }
debug { debug {
@ -148,28 +126,6 @@ android {
enableAndroidTestCoverage = testCoverageEnabled enableAndroidTestCoverage = testCoverageEnabled
isMinifyEnabled = false isMinifyEnabled = false
buildConfigField(
"String",
"OAUTH_GMAIL_CLIENT_ID",
"\"262622259280-5qb3vtj68d5dtudmaif4g9vd3cpar8r3.apps.googleusercontent.com\"",
)
buildConfigField(
"String",
"OAUTH_YAHOO_CLIENT_ID",
"\"dj0yJmk9ejRCRU1ybmZjQlVBJmQ9WVdrOVVrZEViak4xYmxZbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PTZj\"",
)
buildConfigField(
"String",
"OAUTH_AOL_CLIENT_ID",
"\"dj0yJmk9cHYydkJkTUxHcXlYJmQ9WVdrOWVHZHhVVXN4VVV3bWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PTdm\"",
)
buildConfigField("String", "OAUTH_MICROSOFT_CLIENT_ID", "\"e647013a-ada4-4114-b419-e43d250f99c5\"")
buildConfigField(
"String",
"OAUTH_MICROSOFT_REDIRECT_URI",
"\"msauth://com.fsck.k9.debug/VZF2DYuLYAu4TurFd6usQB2JPts%3D\"",
)
} }
} }

View File

@ -0,0 +1,75 @@
package app.k9mail.auth
import app.k9mail.core.common.oauth.OAuthConfiguration
import app.k9mail.core.common.oauth.OAuthConfigurationFactory
import com.fsck.k9.BuildConfig
@Suppress("ktlint:standard:max-line-length")
class K9OAuthConfigurationFactory : OAuthConfigurationFactory {
override fun createConfigurations(): Map<List<String>, OAuthConfiguration> {
return mapOf(
createAolConfiguration(),
createGmailConfiguration(),
createMicrosoftConfiguration(),
createYahooConfiguration(),
)
}
private fun createAolConfiguration(): Pair<List<String>, OAuthConfiguration> {
return listOf(
"imap.aol.com",
"smtp.aol.com",
) to OAuthConfiguration(
clientId = "dj0yJmk9cHYydkJkTUxHcXlYJmQ9WVdrOWVHZHhVVXN4VVV3bWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PTdm",
scopes = listOf("mail-w"),
authorizationEndpoint = "https://api.login.aol.com/oauth2/request_auth",
tokenEndpoint = "https://api.login.aol.com/oauth2/get_token",
redirectUri = "${BuildConfig.APPLICATION_ID}://oauth2redirect",
)
}
private fun createGmailConfiguration(): Pair<List<String>, OAuthConfiguration> {
return listOf(
"imap.gmail.com",
"imap.googlemail.com",
"smtp.gmail.com",
"smtp.googlemail.com",
) to OAuthConfiguration(
clientId = "262622259280-5qb3vtj68d5dtudmaif4g9vd3cpar8r3.apps.googleusercontent.com",
scopes = listOf("https://mail.google.com/"),
authorizationEndpoint = "https://accounts.google.com/o/oauth2/v2/auth",
tokenEndpoint = "https://oauth2.googleapis.com/token",
redirectUri = "${BuildConfig.APPLICATION_ID}:/oauth2redirect",
)
}
private fun createMicrosoftConfiguration(): Pair<List<String>, OAuthConfiguration> {
return listOf(
"outlook.office365.com",
"smtp.office365.com",
) to OAuthConfiguration(
clientId = "e647013a-ada4-4114-b419-e43d250f99c5",
scopes = listOf(
"https://outlook.office.com/IMAP.AccessAsUser.All",
"https://outlook.office.com/SMTP.Send",
"offline_access",
),
authorizationEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
tokenEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/token",
redirectUri = "msauth://com.fsck.k9.debug/VZF2DYuLYAu4TurFd6usQB2JPts%3D",
)
}
private fun createYahooConfiguration(): Pair<List<String>, OAuthConfiguration> {
return listOf(
"imap.mail.yahoo.com",
"smtp.mail.yahoo.com",
) to OAuthConfiguration(
clientId = "dj0yJmk9ejRCRU1ybmZjQlVBJmQ9WVdrOVVrZEViak4xYmxZbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PTZj",
scopes = listOf("mail-w"),
authorizationEndpoint = "https://api.login.yahoo.com/oauth2/request_auth",
tokenEndpoint = "https://api.login.yahoo.com/oauth2/get_token",
redirectUri = "${BuildConfig.APPLICATION_ID}://oauth2redirect",
)
}
}

View File

@ -4,6 +4,7 @@ import app.k9mail.core.common.oauth.OAuthConfiguration
import app.k9mail.core.common.oauth.OAuthConfigurationFactory import app.k9mail.core.common.oauth.OAuthConfigurationFactory
import com.fsck.k9.BuildConfig import com.fsck.k9.BuildConfig
@Suppress("ktlint:standard:max-line-length")
class K9OAuthConfigurationFactory : OAuthConfigurationFactory { class K9OAuthConfigurationFactory : OAuthConfigurationFactory {
override fun createConfigurations(): Map<List<String>, OAuthConfiguration> { override fun createConfigurations(): Map<List<String>, OAuthConfiguration> {
return mapOf( return mapOf(
@ -15,8 +16,11 @@ class K9OAuthConfigurationFactory : OAuthConfigurationFactory {
} }
private fun createAolConfiguration(): Pair<List<String>, OAuthConfiguration> { private fun createAolConfiguration(): Pair<List<String>, OAuthConfiguration> {
return listOf("imap.aol.com", "smtp.aol.com") to OAuthConfiguration( return listOf(
clientId = BuildConfig.OAUTH_AOL_CLIENT_ID, "imap.aol.com",
"smtp.aol.com",
) to OAuthConfiguration(
clientId = "dj0yJmk9dUNqYXZhYWxOYkdRJmQ9WVdrOU1YQnZVRFZoY1ZrbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PWIw",
scopes = listOf("mail-w"), scopes = listOf("mail-w"),
authorizationEndpoint = "https://api.login.aol.com/oauth2/request_auth", authorizationEndpoint = "https://api.login.aol.com/oauth2/request_auth",
tokenEndpoint = "https://api.login.aol.com/oauth2/get_token", tokenEndpoint = "https://api.login.aol.com/oauth2/get_token",
@ -31,7 +35,7 @@ class K9OAuthConfigurationFactory : OAuthConfigurationFactory {
"smtp.gmail.com", "smtp.gmail.com",
"smtp.googlemail.com", "smtp.googlemail.com",
) to OAuthConfiguration( ) to OAuthConfiguration(
clientId = BuildConfig.OAUTH_GMAIL_CLIENT_ID, clientId = "262622259280-hhmh92rhklkg2k1tjil69epo0o9a12jm.apps.googleusercontent.com",
scopes = listOf("https://mail.google.com/"), scopes = listOf("https://mail.google.com/"),
authorizationEndpoint = "https://accounts.google.com/o/oauth2/v2/auth", authorizationEndpoint = "https://accounts.google.com/o/oauth2/v2/auth",
tokenEndpoint = "https://oauth2.googleapis.com/token", tokenEndpoint = "https://oauth2.googleapis.com/token",
@ -44,7 +48,7 @@ class K9OAuthConfigurationFactory : OAuthConfigurationFactory {
"outlook.office365.com", "outlook.office365.com",
"smtp.office365.com", "smtp.office365.com",
) to OAuthConfiguration( ) to OAuthConfiguration(
clientId = BuildConfig.OAUTH_MICROSOFT_CLIENT_ID, clientId = "e647013a-ada4-4114-b419-e43d250f99c5",
scopes = listOf( scopes = listOf(
"https://outlook.office.com/IMAP.AccessAsUser.All", "https://outlook.office.com/IMAP.AccessAsUser.All",
"https://outlook.office.com/SMTP.Send", "https://outlook.office.com/SMTP.Send",
@ -52,7 +56,7 @@ class K9OAuthConfigurationFactory : OAuthConfigurationFactory {
), ),
authorizationEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", authorizationEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
tokenEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/token", tokenEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/token",
redirectUri = BuildConfig.OAUTH_MICROSOFT_REDIRECT_URI, redirectUri = "msauth://com.fsck.k9/Dx8yUsuhyU3dYYba1aA16Wxu5eM%3D",
) )
} }
@ -61,7 +65,7 @@ class K9OAuthConfigurationFactory : OAuthConfigurationFactory {
"imap.mail.yahoo.com", "imap.mail.yahoo.com",
"smtp.mail.yahoo.com", "smtp.mail.yahoo.com",
) to OAuthConfiguration( ) to OAuthConfiguration(
clientId = BuildConfig.OAUTH_YAHOO_CLIENT_ID, clientId = "dj0yJmk9aHNUb3d2MW5TQnpRJmQ9WVdrOWVYbHpaRWM0YkdnbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PWIz",
scopes = listOf("mail-w"), scopes = listOf("mail-w"),
authorizationEndpoint = "https://api.login.yahoo.com/oauth2/request_auth", authorizationEndpoint = "https://api.login.yahoo.com/oauth2/request_auth",
tokenEndpoint = "https://api.login.yahoo.com/oauth2/get_token", tokenEndpoint = "https://api.login.yahoo.com/oauth2/get_token",