org.keycloak.authorization.model.ResourceServer Maven / Gradle / Ivy
/*
* JBoss, Home of Professional Open Source.
* Copyright 2016 Red Hat, Inc., and individual contributors
* as indicated by the @author tags.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.keycloak.authorization.model;
import org.keycloak.representations.idm.authorization.PolicyEnforcementMode;
/**
* Represents a resource server, whose resources are managed and protected. A resource server is basically an existing
* client application in Keycloak that will also act as a resource server.
*
* @author Pedro Igor
*/
public interface ResourceServer {
/**
* Returns the unique identifier for this instance.
*
* @return the unique identifier for this instance
*/
String getId();
/**
* Returns the identifier of the client application (which already exists in Keycloak) that is also acting as a resource
* server.
*
* @return the identifier of the client application associated with this instance.
*/
String getClientId();
/**
* Indicates if the resource server is allowed to manage its own resources remotely using the Protection API.
*
* {@code true} if the resource server is allowed to managed them remotely
*/
boolean isAllowRemoteResourceManagement();
/**
* Indicates if the resource server is allowed to manage its own resources remotely using the Protection API.
*
* @param allowRemoteResourceManagement {@code true} if the resource server is allowed to managed them remotely
*/
void setAllowRemoteResourceManagement(boolean allowRemoteResourceManagement);
/**
* Returns the {@code PolicyEnforcementMode} configured for this instance.
*
* @return the {@code PolicyEnforcementMode} configured for this instance.
*/
PolicyEnforcementMode getPolicyEnforcementMode();
/**
* Defines a {@code PolicyEnforcementMode} for this instance.
*
* @param enforcementMode one of the available options in {@code PolicyEnforcementMode}
*/
void setPolicyEnforcementMode(PolicyEnforcementMode enforcementMode);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy