com.adobe.granite.auth.ims.ImsConfigProvider Maven / Gradle / Ivy
/*************************************************************************
*
* ADOBE CONFIDENTIAL
* __________________
*
* Copyright 2017 Adobe Systems Incorporated
* All Rights Reserved.
*
* NOTICE: All information contained herein is, and remains
* the property of Adobe Systems Incorporated and its suppliers,
* if any. The intellectual and technical concepts contained
* herein are proprietary to Adobe Systems Incorporated and its
* suppliers and are protected by trade secret or copyright law.
* Dissemination of this information or reproduction of this material
* is strictly forbidden unless prior written permission is obtained
* from Adobe Systems Incorporated.
**************************************************************************/
package com.adobe.granite.auth.ims;
import javax.servlet.http.HttpServletRequest;
import org.osgi.annotation.versioning.ProviderType;
/**
* The IMSConfigProvider
provides a configuration aggregating the IMS Provider config. and
* IMS OAuth config. for the configured configid
.
*
* This class listens for changes in those config and stores a unified configuration with
* PID = com.adobe.granite.auth.ims
.
*/
@ProviderType
public interface ImsConfigProvider {
/**
* @return the relative URL that will start an IMS login flow
* associated with the configured configid
or
* {@code null} if the configuration doesn't exist
*/
public String getImsLoginUrl();
/**
* @param request The request containing the information to be
* extracted in order to form the complete redirect_uri.
* The additional information are extracted from the 'resource'
* request parameter and the request context path
*
* @return the relative URL that will start an IMS login flow
* associated with the configured configid
or
* {@code null} if the configuration doesn't exist
*
* @since 1.1.0
*/
public String getImsLoginUrl(HttpServletRequest request);
}