From 7c00334b7c934362bf9af7baf9b968a222ee963f Mon Sep 17 00:00:00 2001 From: Anderson Mesquita Date: Mon, 27 Sep 2021 11:48:40 -0400 Subject: [PATCH] Include "tk." as a valid access token prefix Temporary tokens created via the [token creation API][1] are prefixed with `tk.` and are still valid access tokens. This issue is related to and fixes https://github.com/react-native-mapbox-gl/maps/issues/1541 [1]: https://docs.mapbox.com/api/accounts/tokens/#create-a-temporary-token --- .../src/main/java/com/mapbox/mapboxsdk/Mapbox.java | 2 +- .../src/test/java/com/mapbox/mapboxsdk/MapboxTest.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java b/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java index c8b6701bb..f116c8f33 100644 --- a/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java +++ b/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/Mapbox.java @@ -216,7 +216,7 @@ static boolean isAccessTokenValid(@Nullable String accessToken) { } accessToken = accessToken.trim().toLowerCase(MapboxConstants.MAPBOX_LOCALE); - return accessToken.length() != 0 && (accessToken.startsWith("pk.") || accessToken.startsWith("sk.")); + return accessToken.length() > 0 && accessToken.matches("^(pk|sk|tk)\\..*"); } /** diff --git a/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/MapboxTest.java b/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/MapboxTest.java index a4b573672..93d4562ac 100644 --- a/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/MapboxTest.java +++ b/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/MapboxTest.java @@ -67,6 +67,11 @@ public void testSkTokenValid() { assertTrue(Mapbox.isAccessTokenValid("sk.0000000001")); } + @Test + public void testTkTokenValid() { + assertTrue(Mapbox.isAccessTokenValid("tk.0000000001")); + } + @Test public void testEmptyToken() { assertFalse(Mapbox.isAccessTokenValid(""));