本文整理汇总了Java中org.jasig.cas.support.oauth.OAuthUtils.addParameter方法的典型用法代码示例。如果您正苦于以下问题:Java OAuthUtils.addParameter方法的具体用法?Java OAuthUtils.addParameter怎么用?Java OAuthUtils.addParameter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jasig.cas.support.oauth.OAuthUtils
的用法示例。
在下文中一共展示了OAuthUtils.addParameter方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: verifyOK
import org.jasig.cas.support.oauth.OAuthUtils; //导入方法依赖的package包/类
@Test
public void verifyOK() throws Exception {
clearAllServices();
final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT
+ OAuthConstants.AUTHORIZE_URL);
mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI);
mockRequest.setServerName(CAS_SERVER);
mockRequest.setServerPort(CAS_PORT);
mockRequest.setScheme(CAS_SCHEME);
final MockHttpServletResponse mockResponse = new MockHttpServletResponse();
((OAuth20WrapperController) oauth20WrapperController)
.getServicesManager().save(getRegisteredService(REDIRECT_URI, SERVICE_NAME));
final Controller c = ((OAuth20WrapperController) oauth20WrapperController).getAuthorizeController();
((OAuth20AuthorizeController) c).setLoginUrl(CAS_URL);
final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
final HttpSession session = mockRequest.getSession();
assertEquals(REDIRECT_URI, session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL));
assertEquals(SERVICE_NAME, session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME));
final View view = modelAndView.getView();
assertTrue(view instanceof RedirectView);
final RedirectView redirectView = (RedirectView) view;
final MockHttpServletRequest reqSvc = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.CALLBACK_AUTHORIZE_URL);
reqSvc.setServerName(CAS_SERVER);
reqSvc.setServerPort(CAS_PORT);
reqSvc.setScheme(CAS_SCHEME);
final URL url = new URL(OAuthUtils.addParameter(CAS_URL, "service", reqSvc.getRequestURL().toString()));
final URL url2 = new URL(redirectView.getUrl());
assertEquals(url, url2);
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:37,代码来源:OAuth20AuthorizeControllerTests.java
示例2: verifyOKWithState
import org.jasig.cas.support.oauth.OAuthUtils; //导入方法依赖的package包/类
@Test
public void verifyOKWithState() throws Exception {
clearAllServices();
final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT
+ OAuthConstants.AUTHORIZE_URL);
mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI);
mockRequest.setParameter(OAuthConstants.STATE, STATE);
mockRequest.setServerName(CAS_SERVER);
mockRequest.setServerPort(CAS_PORT);
mockRequest.setScheme(CAS_SCHEME);
final MockHttpServletResponse mockResponse = new MockHttpServletResponse();
((OAuth20WrapperController) oauth20WrapperController)
.getServicesManager().save(getRegisteredService(REDIRECT_URI, SERVICE_NAME));
final Controller c = ((OAuth20WrapperController) oauth20WrapperController).getAuthorizeController();
((OAuth20AuthorizeController) c).setLoginUrl(CAS_URL);
final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
final HttpSession session = mockRequest.getSession();
assertEquals(REDIRECT_URI, session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL));
assertEquals(SERVICE_NAME, session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME));
assertEquals(STATE, session.getAttribute(OAuthConstants.OAUTH20_STATE));
final View view = modelAndView.getView();
assertTrue(view instanceof RedirectView);
final RedirectView redirectView = (RedirectView) view;
final MockHttpServletRequest reqSvc = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.CALLBACK_AUTHORIZE_URL);
reqSvc.setServerName(CAS_SERVER);
reqSvc.setServerPort(CAS_PORT);
reqSvc.setScheme(CAS_SCHEME);
final URL url = new URL(OAuthUtils.addParameter(CAS_URL, "service", reqSvc.getRequestURL().toString()));
final URL url2 = new URL(redirectView.getUrl());
assertEquals(url, url2);
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:41,代码来源:OAuth20AuthorizeControllerTests.java
示例3: verifyOK
import org.jasig.cas.support.oauth.OAuthUtils; //导入方法依赖的package包/类
@Test
public void verifyOK() throws Exception {
final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT
+ OAuthConstants.AUTHORIZE_URL);
mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI);
mockRequest.setServerName(CAS_SERVER);
mockRequest.setServerPort(CAS_PORT);
mockRequest.setScheme(CAS_SCHEME);
final MockHttpServletResponse mockResponse = new MockHttpServletResponse();
final ServicesManager servicesManager = mock(ServicesManager.class);
final List<RegisteredService> services = new ArrayList<>();
services.add(getRegisteredService(REDIRECT_URI, SERVICE_NAME));
when(servicesManager.getAllServices()).thenReturn(services);
final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController();
oauth20WrapperController.setLoginUrl(CAS_URL);
oauth20WrapperController.setServicesManager(servicesManager);
oauth20WrapperController.afterPropertiesSet();
final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
final HttpSession session = mockRequest.getSession();
assertEquals(REDIRECT_URI, session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL));
assertEquals(SERVICE_NAME, session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME));
final View view = modelAndView.getView();
assertTrue(view instanceof RedirectView);
final RedirectView redirectView = (RedirectView) view;
final MockHttpServletRequest reqSvc = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.CALLBACK_AUTHORIZE_URL);
reqSvc.setServerName(CAS_SERVER);
reqSvc.setServerPort(CAS_PORT);
reqSvc.setScheme(CAS_SCHEME);
final URL url = new URL(OAuthUtils.addParameter(CAS_URL, "service", reqSvc.getRequestURL().toString()));
final URL url2 = new URL(redirectView.getUrl());
assertEquals(url, url2);
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:36,代码来源:OAuth20AuthorizeControllerTests.java
示例4: verifyOKWithState
import org.jasig.cas.support.oauth.OAuthUtils; //导入方法依赖的package包/类
@Test
public void verifyOKWithState() throws Exception {
final MockHttpServletRequest mockRequest = new MockHttpServletRequest("GET", CONTEXT
+ OAuthConstants.AUTHORIZE_URL);
mockRequest.setParameter(OAuthConstants.CLIENT_ID, CLIENT_ID);
mockRequest.setParameter(OAuthConstants.REDIRECT_URI, REDIRECT_URI);
mockRequest.setParameter(OAuthConstants.STATE, STATE);
mockRequest.setServerName(CAS_SERVER);
mockRequest.setServerPort(CAS_PORT);
mockRequest.setScheme(CAS_SCHEME);
final MockHttpServletResponse mockResponse = new MockHttpServletResponse();
final ServicesManager servicesManager = mock(ServicesManager.class);
final List<RegisteredService> services = new ArrayList<>();
services.add(getRegisteredService(REDIRECT_URI, SERVICE_NAME));
when(servicesManager.getAllServices()).thenReturn(services);
final OAuth20WrapperController oauth20WrapperController = new OAuth20WrapperController();
oauth20WrapperController.setLoginUrl(CAS_URL);
oauth20WrapperController.setServicesManager(servicesManager);
oauth20WrapperController.afterPropertiesSet();
final ModelAndView modelAndView = oauth20WrapperController.handleRequest(mockRequest, mockResponse);
final HttpSession session = mockRequest.getSession();
assertEquals(REDIRECT_URI, session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL));
assertEquals(SERVICE_NAME, session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME));
assertEquals(STATE, session.getAttribute(OAuthConstants.OAUTH20_STATE));
final View view = modelAndView.getView();
assertTrue(view instanceof RedirectView);
final RedirectView redirectView = (RedirectView) view;
final MockHttpServletRequest reqSvc = new MockHttpServletRequest("GET", CONTEXT + OAuthConstants.CALLBACK_AUTHORIZE_URL);
reqSvc.setServerName(CAS_SERVER);
reqSvc.setServerPort(CAS_PORT);
reqSvc.setScheme(CAS_SCHEME);
final URL url = new URL(OAuthUtils.addParameter(CAS_URL, "service", reqSvc.getRequestURL().toString()));
final URL url2 = new URL(redirectView.getUrl());
assertEquals(url, url2);
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:38,代码来源:OAuth20AuthorizeControllerTests.java
示例5: handleRequestInternal
import org.jasig.cas.support.oauth.OAuthUtils; //导入方法依赖的package包/类
@Override
protected ModelAndView handleRequestInternal(final HttpServletRequest request, final HttpServletResponse response)
throws Exception {
// get CAS ticket
final String ticket = request.getParameter(OAuthConstants.TICKET);
logger.debug("{} : {}", OAuthConstants.TICKET, ticket);
// retrieve callback url from session
final HttpSession session = request.getSession();
String callbackUrl = (String) session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL);
logger.debug("{} : {}", OAuthConstants.OAUTH20_CALLBACKURL, callbackUrl);
session.removeAttribute(OAuthConstants.OAUTH20_CALLBACKURL);
if (StringUtils.isBlank(callbackUrl)) {
logger.error("{} is missing from the session and can not be retrieved.", OAuthConstants.OAUTH20_CALLBACKURL);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
// and state
final String state = (String) session.getAttribute(OAuthConstants.OAUTH20_STATE);
logger.debug("{} : {}", OAuthConstants.OAUTH20_STATE, state);
session.removeAttribute(OAuthConstants.OAUTH20_STATE);
// return callback url with code & state
callbackUrl = OAuthUtils.addParameter(callbackUrl, OAuthConstants.CODE, ticket);
if (state != null) {
callbackUrl = OAuthUtils.addParameter(callbackUrl, OAuthConstants.STATE, state);
}
logger.debug("{} : {}", OAuthConstants.OAUTH20_CALLBACKURL, callbackUrl);
final Map<String, Object> model = new HashMap<String, Object>();
model.put("callbackUrl", callbackUrl);
// retrieve service name from session
final String serviceName = (String) session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME);
logger.debug("serviceName : {}", serviceName);
model.put("serviceName", serviceName);
return new ModelAndView(OAuthConstants.CONFIRM_VIEW, model);
}
示例6: internalHandleRequest
import org.jasig.cas.support.oauth.OAuthUtils; //导入方法依赖的package包/类
@Override
protected ModelAndView internalHandleRequest(final String method, final HttpServletRequest request,
final HttpServletResponse response) throws Exception {
// get CAS ticket
final String ticket = request.getParameter(OAuthConstants.TICKET);
logger.debug("{} : {}", OAuthConstants.TICKET, ticket);
// retrieve callback url from session
final HttpSession session = request.getSession();
String callbackUrl = (String) session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL);
logger.debug("{} : {}", OAuthConstants.OAUTH20_CALLBACKURL, callbackUrl);
session.removeAttribute(OAuthConstants.OAUTH20_CALLBACKURL);
if (StringUtils.isBlank(callbackUrl)) {
logger.error("{} is missing from the session and can not be retrieved.", OAuthConstants.OAUTH20_CALLBACKURL);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
// and state
final String state = (String) session.getAttribute(OAuthConstants.OAUTH20_STATE);
logger.debug("{} : {}", OAuthConstants.OAUTH20_STATE, state);
session.removeAttribute(OAuthConstants.OAUTH20_STATE);
// return callback url with code & state
callbackUrl = OAuthUtils.addParameter(callbackUrl, OAuthConstants.CODE, ticket);
if (state != null) {
callbackUrl = OAuthUtils.addParameter(callbackUrl, OAuthConstants.STATE, state);
}
logger.debug("{} : {}", OAuthConstants.OAUTH20_CALLBACKURL, callbackUrl);
final Map<String, Object> model = new HashMap<>();
model.put("callbackUrl", callbackUrl);
final Boolean bypassApprovalPrompt = (Boolean) session.getAttribute(OAuthConstants.BYPASS_APPROVAL_PROMPT);
logger.debug("bypassApprovalPrompt : {}", bypassApprovalPrompt);
session.removeAttribute(OAuthConstants.BYPASS_APPROVAL_PROMPT);
// Clients that auto-approve do not need authorization.
if (bypassApprovalPrompt != null && bypassApprovalPrompt) {
return OAuthUtils.redirectTo(callbackUrl);
}
// retrieve service name from session
final String serviceName = (String) session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME);
logger.debug("serviceName : {}", serviceName);
model.put("serviceName", serviceName);
return new ModelAndView(OAuthConstants.CONFIRM_VIEW, model);
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:50,代码来源:OAuth20CallbackAuthorizeController.java
示例7: internalHandleRequest
import org.jasig.cas.support.oauth.OAuthUtils; //导入方法依赖的package包/类
@Override
protected ModelAndView internalHandleRequest(final String method, final HttpServletRequest request,
final HttpServletResponse response) throws Exception {
final String clientId = request.getParameter(OAuthConstants.CLIENT_ID);
logger.debug("{} : {}", OAuthConstants.CLIENT_ID, clientId);
final String redirectUri = request.getParameter(OAuthConstants.REDIRECT_URI);
logger.debug("{} : {}", OAuthConstants.REDIRECT_URI, redirectUri);
final String state = request.getParameter(OAuthConstants.STATE);
logger.debug("{} : {}", OAuthConstants.STATE, state);
// clientId is required
if (StringUtils.isBlank(clientId)) {
logger.error("Missing {}", OAuthConstants.CLIENT_ID);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
// redirectUri is required
if (StringUtils.isBlank(redirectUri)) {
logger.error("Missing {}", OAuthConstants.REDIRECT_URI);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
final OAuthRegisteredService service = OAuthUtils.getRegisteredOAuthService(this.servicesManager, clientId);
if (service == null) {
logger.error("Unknown {} : {}", OAuthConstants.CLIENT_ID, clientId);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
final String serviceId = service.getServiceId();
if (!redirectUri.matches(serviceId)) {
logger.error("Unsupported {} : {} for serviceId : {}", OAuthConstants.REDIRECT_URI, redirectUri, serviceId);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
// keep info in session
final HttpSession session = request.getSession();
session.setAttribute(OAuthConstants.OAUTH20_CALLBACKURL, redirectUri);
session.setAttribute(OAuthConstants.OAUTH20_SERVICE_NAME, service.getName());
session.setAttribute(OAuthConstants.BYPASS_APPROVAL_PROMPT, service.isBypassApprovalPrompt());
session.setAttribute(OAuthConstants.OAUTH20_STATE, state);
final String callbackAuthorizeUrl = request.getRequestURL().toString()
.replace('/' + OAuthConstants.AUTHORIZE_URL, '/' + OAuthConstants.CALLBACK_AUTHORIZE_URL);
logger.debug("{} : {}", OAuthConstants.CALLBACK_AUTHORIZE_URL, callbackAuthorizeUrl);
final String loginUrlWithService = OAuthUtils.addParameter(loginUrl, OAuthConstants.SERVICE,
callbackAuthorizeUrl);
logger.debug("loginUrlWithService : {}", loginUrlWithService);
return OAuthUtils.redirectTo(loginUrlWithService);
}
示例8: handleRequestInternal
import org.jasig.cas.support.oauth.OAuthUtils; //导入方法依赖的package包/类
@Override
protected ModelAndView handleRequestInternal(final HttpServletRequest request, final HttpServletResponse response)
throws Exception {
// get CAS ticket
final String ticket = request.getParameter(OAuthConstants.TICKET);
logger.debug("{} : {}", OAuthConstants.TICKET, ticket);
// retrieve callback url from session
final HttpSession session = request.getSession();
String callbackUrl = (String) session.getAttribute(OAuthConstants.OAUTH20_CALLBACKURL);
logger.debug("{} : {}", OAuthConstants.OAUTH20_CALLBACKURL, callbackUrl);
session.removeAttribute(OAuthConstants.OAUTH20_CALLBACKURL);
if (StringUtils.isBlank(callbackUrl)) {
logger.error("{} is missing from the session and can not be retrieved.", OAuthConstants.OAUTH20_CALLBACKURL);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
// and state
final String state = (String) session.getAttribute(OAuthConstants.OAUTH20_STATE);
logger.debug("{} : {}", OAuthConstants.OAUTH20_STATE, state);
session.removeAttribute(OAuthConstants.OAUTH20_STATE);
// return callback url with code & state
callbackUrl = OAuthUtils.addParameter(callbackUrl, OAuthConstants.CODE, ticket);
if (state != null) {
callbackUrl = OAuthUtils.addParameter(callbackUrl, OAuthConstants.STATE, state);
}
logger.debug("{} : {}", OAuthConstants.OAUTH20_CALLBACKURL, callbackUrl);
final Map<String, Object> model = new HashMap<>();
model.put("callbackUrl", callbackUrl);
final Boolean bypassApprovalPrompt = (Boolean) session.getAttribute(OAuthConstants.BYPASS_APPROVAL_PROMPT);
logger.debug("bypassApprovalPrompt : {}", bypassApprovalPrompt);
session.removeAttribute(OAuthConstants.BYPASS_APPROVAL_PROMPT);
// Clients that auto-approve do not need authorization.
if (bypassApprovalPrompt != null && bypassApprovalPrompt) {
return OAuthUtils.redirectTo(callbackUrl);
}
// retrieve service name from session
final String serviceName = (String) session.getAttribute(OAuthConstants.OAUTH20_SERVICE_NAME);
logger.debug("serviceName : {}", serviceName);
model.put("serviceName", serviceName);
return new ModelAndView(OAuthConstants.CONFIRM_VIEW, model);
}
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:50,代码来源:OAuth20CallbackAuthorizeController.java
示例9: handleRequestInternal
import org.jasig.cas.support.oauth.OAuthUtils; //导入方法依赖的package包/类
@Override
protected ModelAndView handleRequestInternal(final HttpServletRequest request, final HttpServletResponse response)
throws Exception {
final String clientId = request.getParameter(OAuthConstants.CLIENT_ID);
LOGGER.debug("{} : {}", OAuthConstants.CLIENT_ID, clientId);
final String redirectUri = request.getParameter(OAuthConstants.REDIRECT_URI);
LOGGER.debug("{} : {}", OAuthConstants.REDIRECT_URI, redirectUri);
final String state = request.getParameter(OAuthConstants.STATE);
LOGGER.debug("{} : {}", OAuthConstants.STATE, state);
// clientId is required
if (StringUtils.isBlank(clientId)) {
LOGGER.error("Missing {}", OAuthConstants.CLIENT_ID);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
// redirectUri is required
if (StringUtils.isBlank(redirectUri)) {
LOGGER.error("Missing {}", OAuthConstants.REDIRECT_URI);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
final OAuthRegisteredService service = OAuthUtils.getRegisteredOAuthService(this.servicesManager, clientId);
if (service == null) {
LOGGER.error("Unknown {} : {}", OAuthConstants.CLIENT_ID, clientId);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
final String serviceId = service.getServiceId();
if (!redirectUri.matches(serviceId)) {
LOGGER.error("Unsupported {} : {} for serviceId : {}", OAuthConstants.REDIRECT_URI, redirectUri, serviceId);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
// keep info in session
final HttpSession session = request.getSession();
session.setAttribute(OAuthConstants.OAUTH20_CALLBACKURL, redirectUri);
session.setAttribute(OAuthConstants.OAUTH20_SERVICE_NAME, service.getName());
session.setAttribute(OAuthConstants.BYPASS_APPROVAL_PROMPT, service.isBypassApprovalPrompt());
session.setAttribute(OAuthConstants.OAUTH20_STATE, state);
final String callbackAuthorizeUrl = request.getRequestURL().toString()
.replace("/" + OAuthConstants.AUTHORIZE_URL, "/" + OAuthConstants.CALLBACK_AUTHORIZE_URL);
LOGGER.debug("{} : {}", OAuthConstants.CALLBACK_AUTHORIZE_URL, callbackAuthorizeUrl);
final String loginUrlWithService = OAuthUtils.addParameter(loginUrl, OAuthConstants.SERVICE,
callbackAuthorizeUrl);
LOGGER.debug("loginUrlWithService : {}", loginUrlWithService);
return OAuthUtils.redirectTo(loginUrlWithService);
}
示例10: handleRequestInternal
import org.jasig.cas.support.oauth.OAuthUtils; //导入方法依赖的package包/类
@Override
protected ModelAndView handleRequestInternal(final HttpServletRequest request, final HttpServletResponse response)
throws Exception {
final String clientId = request.getParameter(OAuthConstants.CLIENT_ID);
LOGGER.debug("{} : {}", OAuthConstants.CLIENT_ID, clientId);
final String redirectUri = request.getParameter(OAuthConstants.REDIRECT_URI);
LOGGER.debug("{} : {}", OAuthConstants.REDIRECT_URI, redirectUri);
final String state = request.getParameter(OAuthConstants.STATE);
LOGGER.debug("{} : {}", OAuthConstants.STATE, state);
// clientId is required
if (StringUtils.isBlank(clientId)) {
LOGGER.error("Missing {}", OAuthConstants.CLIENT_ID);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
// redirectUri is required
if (StringUtils.isBlank(redirectUri)) {
LOGGER.error("Missing {}", OAuthConstants.REDIRECT_URI);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
final OAuthRegisteredService service = OAuthUtils.getRegisteredOAuthService(this.servicesManager, clientId);
if (service == null) {
LOGGER.error("Unknown {} : {}", OAuthConstants.CLIENT_ID, clientId);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
final String serviceId = service.getServiceId();
if (!redirectUri.matches(serviceId)) {
LOGGER.error("Unsupported {} : {} for serviceId : {}", OAuthConstants.REDIRECT_URI, redirectUri, serviceId);
return new ModelAndView(OAuthConstants.ERROR_VIEW);
}
// keep info in session
final HttpSession session = request.getSession();
session.setAttribute(OAuthConstants.OAUTH20_CALLBACKURL, redirectUri);
session.setAttribute(OAuthConstants.OAUTH20_SERVICE_NAME, service.getName());
session.setAttribute(OAuthConstants.OAUTH20_STATE, state);
final String callbackAuthorizeUrl = request.getRequestURL().toString()
.replace("/" + OAuthConstants.AUTHORIZE_URL, "/" + OAuthConstants.CALLBACK_AUTHORIZE_URL);
LOGGER.debug("{} : {}", OAuthConstants.CALLBACK_AUTHORIZE_URL, callbackAuthorizeUrl);
final String loginUrlWithService = OAuthUtils.addParameter(loginUrl, OAuthConstants.SERVICE,
callbackAuthorizeUrl);
LOGGER.debug("loginUrlWithService : {}", loginUrlWithService);
return OAuthUtils.redirectTo(loginUrlWithService);
}