Search in sources :

Example 36 with Role

use of com.auth0.json.mgmt.Role in project auth0-java by auth0.

the class RolesEntity method assignUsers.

/**
 * Assign users to a role.
 * A token with update:roles is needed.
 * See https://auth0.com/docs/api/management/v2#!/Roles/post_role_users
 *
 * @param roleId the role id
 * @param userIds a list of user ids to assign to the role
 * @return a Request to execute.
 */
public Request<Void> assignUsers(String roleId, List<String> userIds) {
    Asserts.assertNotNull(roleId, "role id");
    Asserts.assertNotEmpty(userIds, "user ids");
    Map<String, List<String>> body = new HashMap<>();
    body.put("users", userIds);
    String url = baseUrl.newBuilder().addEncodedPathSegments("api/v2/roles").addEncodedPathSegments(roleId).addEncodedPathSegments("users").build().toString();
    VoidRequest request = new VoidRequest(this.client, url, "POST");
    request.addHeader("Authorization", "Bearer " + apiToken);
    request.setBody(body);
    return request;
}
Also used : VoidRequest(com.auth0.net.VoidRequest) HashMap(java.util.HashMap) List(java.util.List)

Example 37 with Role

use of com.auth0.json.mgmt.Role in project auth0-java by auth0.

the class RolesEntity method addPermissions.

/**
 * Associate permissions with a role. Only the `permission_name` and
 * `resource_server_identifier` Permission attributes should be specified.
 * A token with update:roles is needed.
 * See https://auth0.com/docs/api/management/v2#!/Roles/post_role_permission_assignment
 *
 * @param roleId the role id
 * @param permissions a list of permission objects to associate to the role
 * @return a Request to execute
 */
public Request<Void> addPermissions(String roleId, List<Permission> permissions) {
    Asserts.assertNotNull(roleId, "role id");
    Asserts.assertNotEmpty(permissions, "permissions");
    Map<String, List<Permission>> body = new HashMap<>();
    body.put("permissions", permissions);
    final String url = baseUrl.newBuilder().addEncodedPathSegments("api/v2/roles").addEncodedPathSegments(roleId).addEncodedPathSegments("permissions").build().toString();
    VoidRequest request = new VoidRequest(this.client, url, "POST");
    request.setBody(body);
    request.addHeader("Authorization", "Bearer " + apiToken);
    return request;
}
Also used : VoidRequest(com.auth0.net.VoidRequest) HashMap(java.util.HashMap) List(java.util.List)

Example 38 with Role

use of com.auth0.json.mgmt.Role in project auth0-java by auth0.

the class RolesEntity method delete.

/**
 * Delete an existing Role.
 * A token with scope delete:roles is needed.
 * See https://auth0.com/docs/api/management/v2#!/Roles/delete_roles_by_id
 *
 * @param roleId The id of the role to delete.
 * @return a Request to execute.
 */
public Request<Void> delete(String roleId) {
    Asserts.assertNotNull(roleId, "role id");
    final String url = baseUrl.newBuilder().addEncodedPathSegments("api/v2/roles").addEncodedPathSegments(roleId).build().toString();
    VoidRequest request = new VoidRequest(this.client, url, "DELETE");
    request.addHeader("Authorization", "Bearer " + apiToken);
    return request;
}
Also used : VoidRequest(com.auth0.net.VoidRequest)

Example 39 with Role

use of com.auth0.json.mgmt.Role in project auth0-java by auth0.

the class UsersEntity method addRoles.

/**
 * Assign roles to a user.
 * A token with update:users is needed.
 * See https://auth0.com/docs/api/management/v2#!/Users/post_user_roles
 *
 * @param userId  the user id
 * @param roleIds a list of role ids to assign to the user
 * @return a Request to execute
 */
public Request<Void> addRoles(String userId, List<String> roleIds) {
    Asserts.assertNotNull(userId, "user id");
    Asserts.assertNotEmpty(roleIds, "role ids");
    Map<String, List<String>> body = new HashMap<>();
    body.put("roles", roleIds);
    final String url = baseUrl.newBuilder().addPathSegments("api/v2/users").addPathSegments(userId).addPathSegments("roles").build().toString();
    VoidRequest request = new VoidRequest(this.client, url, "POST");
    request.setBody(body);
    request.addHeader("Authorization", "Bearer " + apiToken);
    return request;
}
Also used : VoidRequest(com.auth0.net.VoidRequest) HashMap(java.util.HashMap) List(java.util.List)

Example 40 with Role

use of com.auth0.json.mgmt.Role in project auth0-java by auth0.

the class RolesEntityTest method shouldCreateRole.

@Test
public void shouldCreateRole() throws Exception {
    Role newRole = new Role();
    newRole.setName("roleId");
    Request<Role> request = api.roles().create(newRole);
    assertThat(request, is(notNullValue()));
    server.jsonResponse(MGMT_ROLE, 200);
    Role response = request.execute();
    RecordedRequest recordedRequest = server.takeRequest();
    assertThat(recordedRequest, hasMethodAndPath("POST", "/api/v2/roles"));
    assertThat(recordedRequest, hasHeader("Content-Type", "application/json"));
    assertThat(recordedRequest, hasHeader("Authorization", "Bearer apiToken"));
    Map<String, Object> body = bodyFromRequest(recordedRequest);
    assertThat(body.size(), is(1));
    assertThat(body, hasEntry("name", "roleId"));
    assertThat(response, is(notNullValue()));
}
Also used : Role(com.auth0.json.mgmt.Role) RecordedRequest(okhttp3.mockwebserver.RecordedRequest) Test(org.junit.Test)

Aggregations

Algorithm (com.auth0.jwt.algorithms.Algorithm)20 DecodedJWT (com.auth0.jwt.interfaces.DecodedJWT)17 IOException (java.io.IOException)17 java.util (java.util)14 JWT (com.auth0.jwt.JWT)13 Maps (io.gravitee.common.util.Maps)12 DEFAULT_JWT_ISSUER (io.gravitee.rest.api.service.common.JWTHelper.DefaultValues.DEFAULT_JWT_ISSUER)12 Duration (java.time.Duration)12 Instant (java.time.Instant)12 GraviteeContext (io.gravitee.rest.api.service.common.GraviteeContext)10 JWTHelper (io.gravitee.rest.api.service.common.JWTHelper)10 HttpServletResponse (javax.servlet.http.HttpServletResponse)10 Authentication (org.springframework.security.core.Authentication)10 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)9 HashMap (java.util.HashMap)9 Collectors (java.util.stream.Collectors)9 Cookie (javax.servlet.http.Cookie)9 SecurityContextHolder (org.springframework.security.core.context.SecurityContextHolder)9 UserDetails (io.gravitee.rest.api.idp.api.authentication.UserDetails)8 CookieGenerator (io.gravitee.rest.api.security.cookies.CookieGenerator)8