Skip to content

Commit 0f79d57

Browse files
committed
Fix remove external id
* If remote params had the require_user_id_auth with true then the remove external id was not working due to requiring token hash * Remove token hash check when removing external id
1 parent 876c80a commit 0f79d57

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

OneSignalSDK/onesignal/src/main/java/com/onesignal/OneSignal.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1593,7 +1593,7 @@ public void run() {
15931593
return;
15941594
}
15951595

1596-
if (externalId.length() > 0 && remoteParams != null && remoteParams.useUserIdAuth && (externalIdAuthHash == null || externalIdAuthHash.length() == 0)) {
1596+
if (!externalId.isEmpty() && externalId.length() > 0 && remoteParams != null && remoteParams.useUserIdAuth && (externalIdAuthHash == null || externalIdAuthHash.length() == 0)) {
15971597
String errorMessage = "External Id authentication (auth token) is set to REQUIRED for this application. Please provide an auth token from your backend server or change the setting in the OneSignal dashboard.";
15981598
Log(LOG_LEVEL.ERROR, errorMessage);
15991599
return;

OneSignalSDK/unittest/src/test/java/com/test/onesignal/MainOneSignalClassRunner.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4309,6 +4309,9 @@ public void shouldRemoveExternalUserIdFromPushWithAuthHash() throws Exception {
43094309
OneSignalInit();
43104310
threadAndTaskWait();
43114311

4312+
fastColdRestartApp();
4313+
OneSignalInit();
4314+
threadAndTaskWait();
43124315
OneSignal.removeExternalUserId(getExternalUserIdUpdateCompletionHandler());
43134316
threadAndTaskWait();
43144317

@@ -4321,9 +4324,9 @@ public void shouldRemoveExternalUserIdFromPushWithAuthHash() throws Exception {
43214324
);
43224325
assertEquals(expectedExternalUserIdResponse.toString(), lastExternalUserIdResponse.toString());
43234326

4324-
assertEquals(3, ShadowOneSignalRestClient.networkCallCount);
4327+
assertEquals(4, ShadowOneSignalRestClient.networkCallCount);
43254328

4326-
ShadowOneSignalRestClient.Request removeIdRequest = ShadowOneSignalRestClient.requests.get(2);
4329+
ShadowOneSignalRestClient.Request removeIdRequest = ShadowOneSignalRestClient.requests.get(3);
43274330
assertEquals(ShadowOneSignalRestClient.REST_METHOD.PUT, removeIdRequest.method);
43284331
assertEquals(removeIdRequest.payload.getString("external_user_id"), "");
43294332
assertEquals(mockExternalIdHash, removeIdRequest.payload.getString("external_user_id_auth_hash"));

0 commit comments

Comments
 (0)