Skip to content

Commit eaddd70

Browse files
committed
Refactored code.| #716
1 parent 9df7464 commit eaddd70

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/OAuth2AuthCredentialsViewModel.kt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,8 @@ class OAuth2AuthCredentialsViewModel(application: Application) : BaseAndroidView
6464
return@launch
6565
}
6666

67-
val claims = validateTokenAndGetClaims(response.data?.idToken ?: "")
67+
val claims = validateTokenAndGetClaims(response.data?.idToken ?: "", authRequest
68+
.clientId, jwks = JWKS_MICROSOFT)
6869
val email: String? = claims.getClaimValueAsString(CLAIM_EMAIL)?.toLowerCase(Locale.US)
6970
val displayName: String? = claims.getClaimValueAsString(CLAIM_NAME)
7071

@@ -85,20 +86,23 @@ class OAuth2AuthCredentialsViewModel(application: Application) : BaseAndroidView
8586
}
8687
}
8788

88-
private suspend fun validateTokenAndGetClaims(idToken: String): JwtClaims =
89+
private suspend fun validateTokenAndGetClaims(idToken: String, clientId: String, jwks: String):
90+
JwtClaims =
8991
withContext(Dispatchers.IO) {
90-
//https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration
91-
val httpsJkws = HttpsJwks("https://login.microsoftonline.com/common/discovery/v2.0/keys")
92+
val httpsJkws = HttpsJwks(jwks)
9293
val httpsJwksKeyResolver = HttpsJwksVerificationKeyResolver(httpsJkws)
9394
val jwtConsumer = JwtConsumerBuilder()
9495
.setVerificationKeyResolver(httpsJwksKeyResolver)
95-
.setExpectedAudience("3be51534-5f76-4970-9a34-40ef197aa018")
96+
.setExpectedAudience(clientId)
9697
.build()
9798
return@withContext jwtConsumer.processToClaims(idToken)
9899
}
99100

100101
companion object {
101102
private const val CLAIM_EMAIL = "email"
102103
private const val CLAIM_NAME = "name"
104+
105+
//https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration
106+
private const val JWKS_MICROSOFT = "https://login.microsoftonline.com/common/discovery/v2.0/keys"
103107
}
104108
}

0 commit comments

Comments
 (0)