From dad9359d3299cd3252a5c56e7bdc2a63ab917e4b Mon Sep 17 00:00:00 2001 From: Rita Zerrizuela Date: Wed, 14 Sep 2022 08:02:25 -0300 Subject: [PATCH] Fix timezone issue in Android Credentials Manager handler (#162) --- .../credentials_manager/SaveCredentialsRequestHandler.kt | 1 + .../SaveCredentialsRequestHandlerTest.kt | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/auth0_flutter/android/src/main/kotlin/com/auth0/auth0_flutter/request_handlers/credentials_manager/SaveCredentialsRequestHandler.kt b/auth0_flutter/android/src/main/kotlin/com/auth0/auth0_flutter/request_handlers/credentials_manager/SaveCredentialsRequestHandler.kt index d0f69c1e..4ec73719 100644 --- a/auth0_flutter/android/src/main/kotlin/com/auth0/auth0_flutter/request_handlers/credentials_manager/SaveCredentialsRequestHandler.kt +++ b/auth0_flutter/android/src/main/kotlin/com/auth0/auth0_flutter/request_handlers/credentials_manager/SaveCredentialsRequestHandler.kt @@ -32,6 +32,7 @@ class SaveCredentialsRequestHandler : CredentialsManagerRequestHandler { } val format = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.getDefault()) + format.timeZone = TimeZone.getTimeZone("UTC") val date = format.parse(credentials.get("expiresAt") as String) credentialsManager.saveCredentials(Credentials( diff --git a/auth0_flutter/android/src/test/kotlin/com/auth0/auth0_flutter/request_handlers/credentials_manager/SaveCredentialsRequestHandlerTest.kt b/auth0_flutter/android/src/test/kotlin/com/auth0/auth0_flutter/request_handlers/credentials_manager/SaveCredentialsRequestHandlerTest.kt index e9a7ca80..4d39c1e3 100644 --- a/auth0_flutter/android/src/test/kotlin/com/auth0/auth0_flutter/request_handlers/credentials_manager/SaveCredentialsRequestHandlerTest.kt +++ b/auth0_flutter/android/src/test/kotlin/com/auth0/auth0_flutter/request_handlers/credentials_manager/SaveCredentialsRequestHandlerTest.kt @@ -171,7 +171,8 @@ class SaveCredentialsRequestHandlerTest { "expiresAt" to "2022-01-01T00:00:00.000Z", "scopes" to arrayListOf("a", "b") ) - val format = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()) + val format = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.getDefault()) + format.timeZone = TimeZone.getTimeZone("UTC") val date = format.parse(credentialsMap["expiresAt"] as String) as Date var scope: String? = null val scopes = credentialsMap.getOrDefault("scopes", arrayListOf()) as ArrayList<*> @@ -206,6 +207,11 @@ class SaveCredentialsRequestHandlerTest { verify(mockCredentialsManager).saveCredentials(captor.capture()) assertThat((captor.firstValue).accessToken, equalTo(credentials.accessToken)) + assertThat((captor.firstValue).idToken, equalTo(credentials.idToken)) + assertThat((captor.firstValue).refreshToken, equalTo(credentials.refreshToken)) + assertThat((captor.firstValue).type, equalTo(credentials.type)) + assertThat((captor.firstValue).expiresAt, equalTo(credentials.expiresAt)) + assertThat((captor.firstValue).scope, equalTo(credentials.scope)) } @Test