org.forgerock.openam.oauth2.model.ClientApplication Maven / Gradle / Ivy
The newest version!
/*
* Copyright 2012 AMG.lab, a Bull Group Company
*
* 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.
*/
/*
* DO NOT REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 2012 ForgeRock Inc. All rights reserved.
*
* The contents of this file are subject to the terms
* of the Common Development and Distribution License
* (the License). You may not use this file except in
* compliance with the License.
*
* You can obtain a copy of the License at
* http://forgerock.org/license/CDDLv1.0.html
* See the License for the specific language governing
* permission and limitations under the License.
*
* When distributing Covered Code, include this CDDL
* Header Notice in each file and include the License file
* at http://forgerock.org/license/CDDLv1.0.html
* If applicable, add the following below the CDDL Header,
* with the fields enclosed by brackets [] replaced by
* your own identifying information:
* "Portions Copyrighted [2012] [ForgeRock Inc]"
*/
package org.forgerock.openam.oauth2.model;
import java.net.URI;
import java.util.Set;
/**
* Implements the interface that needs to be implemented to read the client settings
*/
public interface ClientApplication {
public enum ClientType {
CONFIDENTIAL, PUBLIC;
}
/**
* Gets the client id
* @return a string representing the client id
* @see 2.2. Client Identifier
*/
public String getClientId();
/**
* Gets the client type
* @return a {@link ClientType} either confidential or public
* @see 2.1. Client Types
*/
public ClientType getClientType();
/**
* The authorization server SHOULD require all clients to register their
* redirection endpoint prior to utilizing the authorization endpoint
*
* The authorization server SHOULD require the client to provide the
* complete redirection URI (the client MAY use the "state" request
* parameter to achieve per-request customization). If requiring the
* registration of the complete redirection URI is not possible, the
* authorization server SHOULD require the registration of the URI scheme,
* authority, and path (allowing the client to dynamically vary only the
* query component of the redirection URI when requesting authorization).
*
* The authorization server MAY allow the client to register multiple
* redirection endpoints.
*
* @return
* @see 3.1.2.3.
* Dynamic Configuration
*/
public Set getRedirectionURIs();
/**
* Gets the access token type the client expects to recieve
* @return a string representing the access token type
* @see 7.1. Access Token Types
*/
public String getAccessTokenType();
/**
* Gets the authenticaiton schemes the
* @return a {@link ClientType} either confidential or public
* @see 7.1. Access Token Types
*/
public String getClientAuthenticationSchema();
/**
* Gets the Scopes registered for a client
* @return a set of strings representing the Scopes of the client
* @see 3.3. Access Token Scope
*/
public Set getAllowedGrantScopes();
/**
* Gets the default Scopes assigned to tokens for this client
*
* @return a set of strings representing the default scopes for this client
* @see 3.3. Access Token Scope
*/
public Set getDefaultGrantScopes();
/**
* Get the auto_grant property of the client
*
* If "auto_grant" is true then the server does not require the Resource
* Owner's approval unless the request has the
* {@link com.sun.identity.shared.OAuth2Constants.Custom#APPROVAL_PROMPT}
* property and the value is null.
*
* This function is not part of the OAuth2 specification
*
* @return
*/
public boolean isAutoGrant();
/**
* Contains a set of strings that are in the format of "locale"|"displayName"
* @return
* a set of display names for various locales
*/
public Set getDisplayName();
/**
* Contains a set of strings that are in the format of "locale"|"displayDescription"
* @return
* a set of display descriptions for various locales
*/
public Set getDisplayDescription();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy