/* * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com * The software in this package is published under the terms of the CPAL v1.0 * license, a copy of which has been included with this distribution in the * LICENSE.txt file. */ package org.mule.runtime.oauth.api; import java.util.Optional; /** * Provides information about a request to be made to fetch the tokens as part of an OAuth Authorization-code grant type dance. * * @since 4.0 */ public interface AuthorizationCodeRequest { /** * @return id for the oauth state. */ String getResourceOwnerId(); /** * @return The OAuth authentication server url that authorized the app for a certain user. */ String getAuthorizationUrl(); /** * @return The OAuth authentication server url that provided the tokens. */ String getTokenUrl(); /** * @return The application identifier as defined in the OAuth authentication server. */ String getClientId(); /** * @return The application secret as defined in the OAuth authentication server. */ String getClientSecret(); /** * @return the scopes sent to the authorization url. */ String getScopes(); /** * @return state kept between the authentication request and the callback done by the OAuth authorization server to the external * callback url. */ Optional<String> getState(); }