Copyright (c) 2019 Stephane Bastian This program and the accompanying materials are made available under the 2 terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0. SPDX-License-Identifier: EPL-2.0 3 Contributors: 4 Stephane Bastian - initial API and implementation
/******************************************************************************** * Copyright (c) 2019 Stephane Bastian * * This program and the accompanying materials are made available under the 2 * terms of the Eclipse Public License 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * SPDX-License-Identifier: EPL-2.0 3 * * Contributors: 4 * Stephane Bastian - initial API and implementation ********************************************************************************/
package io.vertx.ext.auth.authorization; import java.util.HashSet; import java.util.Objects; import java.util.Set; import io.vertx.codegen.annotations.VertxGen; import io.vertx.core.AsyncResult; import io.vertx.core.Future; import io.vertx.core.Handler; import io.vertx.core.Promise; import io.vertx.ext.auth.User;
The role of an AuthorizationProvider is to return a set of Authorization. Note that each AuthorizationProvider must provide its own unique Id
Author:stephane bastian
/** * The role of an AuthorizationProvider is to return a set of Authorization. * Note that each AuthorizationProvider must provide its own unique Id * * @author stephane bastian * */
@VertxGen public interface AuthorizationProvider {
create an authorization provider with the specified id and authorizations
Params:
  • id –
  • authorizations –
Returns:
/** * create an authorization provider with the specified id and authorizations * * @param id * @param authorizations * @return */
static AuthorizationProvider create(String id, Set<Authorization> authorizations) { Set<Authorization> _authorizations = new HashSet<>(Objects.requireNonNull(authorizations)); return new AuthorizationProvider() { @Override public String getId() { return id; } @Override public void getAuthorizations(User user, Handler<AsyncResult<Void>> handler) { user.authorizations().add(getId(), _authorizations); handler.handle(Future.succeededFuture()); } }; }
returns the id of the authorization provider
Returns:
/** * returns the id of the authorization provider * * @return */
String getId();
Updates the user with the set of authorizations.
Params:
  • user – user to lookup and update
  • handler – result handler
/** * Updates the user with the set of authorizations. * * @param user user to lookup and update * @param handler result handler */
void getAuthorizations(User user, Handler<AsyncResult<Void>> handler); default Future<Void> getAuthorizations(User user) { Promise<Void> promise = Promise.promise(); getAuthorizations(user, promise); return promise.future(); } }