Skip to content

Commit efcc1e5

Browse files
authored
Add support for deleting all user's authenticators (#451)
1 parent 5589037 commit efcc1e5

2 files changed

Lines changed: 38 additions & 0 deletions

File tree

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,23 @@ public Request<LogEventsPage> getLogEvents(String userId, LogEventFilter filter)
243243
return request;
244244
}
245245

246+
/**
247+
* Delete all an user's authenticators.
248+
* A token with scope delete:guardian_enrollments is needed.
249+
*
250+
* See <a href="https://auth0.com/docs/api/management/v2#!/Users/delete_authenticators">API docs</a>
251+
*
252+
* @param userId the user id
253+
* @return a Request to execute.
254+
*/
255+
public Request<Void> deleteAllAuthenticators(String userId) {
256+
Asserts.assertNotNull(userId, "user id");
257+
258+
return voidRequest("DELETE", builder -> {
259+
builder.withPathSegments(String.format("api/v2/users/%s/authenticators", userId));
260+
});
261+
}
262+
246263
/**
247264
* Delete an existing User's Multifactor Provider.
248265
* A token with scope update:users is needed.

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -509,6 +509,27 @@ public void shouldReturnEmptyUserLogEvents() throws Exception {
509509
assertThat(response.getItems(), is(emptyCollectionOf(LogEvent.class)));
510510
}
511511

512+
@Test
513+
public void shouldThrowOnDeleteUserAuthenticatorsWithNullId() {
514+
exception.expect(IllegalArgumentException.class);
515+
exception.expectMessage("'user id' cannot be null!");
516+
api.users().deleteAllAuthenticators(null);
517+
}
518+
519+
@Test
520+
public void shouldDeleteUserAuthenticators() throws Exception {
521+
Request<Void> request = api.users().deleteAllAuthenticators("auth0|23");
522+
assertThat(request, is(notNullValue()));
523+
524+
server.emptyResponse(204);
525+
request.execute();
526+
RecordedRequest recordedRequest = server.takeRequest();
527+
528+
assertThat(recordedRequest, hasMethodAndPath("DELETE", "/api/v2/users/auth0%7C23/authenticators"));
529+
assertThat(recordedRequest, hasHeader("Content-Type", "application/json"));
530+
assertThat(recordedRequest, hasHeader("Authorization", "Bearer apiToken"));
531+
}
532+
512533
@Test
513534
public void shouldThrowOnDeleteUserMultifactorProviderWithNullId() {
514535
exception.expect(IllegalArgumentException.class);

0 commit comments

Comments
 (0)