Skip to content

Commit 00eea52

Browse files
authored
Support invalidate remembered browsers endpoint (#543)
1 parent 2e14b3e commit 00eea52

2 files changed

Lines changed: 43 additions & 0 deletions

File tree

src/main/java/com/auth0/client/mgmt/UsersEntity.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,29 @@ public Request<List<Identity>> unlinkIdentity(String primaryUserId, String secon
385385
});
386386
}
387387

388+
/**
389+
* Invalidate all remembered browsers across all authentication factors for a user.
390+
* A token with scope {@code update:users} is required.
391+
*
392+
* @param userId the ID of the user to invalidate all remembered browsers and authentication factors for.
393+
* @see <a href="https://auth0.com/docs/api/management/v2#!/Users/post_invalidate_remember_browser">Invalidate all remembered browsers.</a>
394+
*/
395+
public Request<Void> invalidateRememberedBrowsers(String userId) {
396+
Asserts.assertNotNull(userId, "user ID");
397+
398+
String url = baseUrl
399+
.newBuilder()
400+
.addPathSegments("api/v2/users")
401+
.addPathSegment(userId)
402+
.addPathSegments("multifactor/actions/invalidate-remember-browser")
403+
.build()
404+
.toString();
405+
406+
VoidRequest request = new VoidRequest(client, tokenProvider, url, HttpMethod.POST);
407+
request.setBody("");
408+
return request;
409+
}
410+
388411
/**
389412
* Get the permissions associated to the user.
390413
* A token with read:users is needed.

src/test/java/com/auth0/client/mgmt/UsersEntityTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1307,4 +1307,24 @@ public void shouldDeleteUserAuthenticationMethodById() throws Exception {
13071307
assertThat(recordedRequest, hasHeader("Content-Type", "application/json"));
13081308
assertThat(recordedRequest, hasHeader("Authorization", "Bearer apiToken"));
13091309
}
1310+
1311+
@Test
1312+
public void invalidateRememberedBrowsersThrowsWhenUserIdIsNull() {
1313+
exception.expect(IllegalArgumentException.class);
1314+
exception.expectMessage("user ID");
1315+
api.users().invalidateRememberedBrowsers(null);
1316+
}
1317+
1318+
@Test
1319+
public void shouldInvalidateRememberedBrowsers() throws Exception {
1320+
Request<Void> request = api.users().invalidateRememberedBrowsers("userId");
1321+
assertThat(request, is(notNullValue()));
1322+
1323+
server.noContentResponse();
1324+
Void response = request.execute().getBody();
1325+
RecordedRequest recordedRequest = server.takeRequest();
1326+
1327+
assertThat(recordedRequest, hasMethodAndPath(HttpMethod.POST, "/api/v2/users/userId/multifactor/actions/invalidate-remember-browser"));
1328+
assertThat(recordedRequest, hasHeader("Authorization", "Bearer apiToken"));
1329+
}
13101330
}

0 commit comments

Comments
 (0)