package com.github.hburgmeier.jerseyoauth2.authsrv.api.authorization; import java.io.IOException; import java.net.URI; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.github.hburgmeier.jerseyoauth2.api.protocol.IAuthorizationRequest; import com.github.hburgmeier.jerseyoauth2.api.protocol.OAuth2ProtocolException; import com.github.hburgmeier.jerseyoauth2.api.protocol.ResponseBuilderException; import com.github.hburgmeier.jerseyoauth2.authsrv.api.client.IAuthorizedClientApp; import com.github.hburgmeier.jerseyoauth2.authsrv.api.client.IRegisteredClientApp; import com.github.hburgmeier.jerseyoauth2.authsrv.api.protocol.IOAuth2Response; import com.github.hburgmeier.jerseyoauth2.authsrv.api.ui.AuthorizationFlowException; public interface IAuthorizationService { IOAuth2Response evaluateAuthorizationRequest(HttpServletRequest request, HttpServletResponse response, ServletContext servletContext) throws AuthorizationFlowException, IOException, ServletException, ResponseBuilderException; IOAuth2Response sendAuthorizationResponse(HttpServletRequest request, IAuthorizationRequest originalRequest, IRegisteredClientApp regClientApp, IAuthorizedClientApp authorizedClientApp) throws IOException, OAuth2ProtocolException, ResponseBuilderException; IOAuth2Response sendErrorResponse(OAuth2ProtocolException ex, URI redirectUrl) throws ResponseBuilderException; }