trying out new confirmation controller

pull/263/head
Justin Richer 2012-11-21 10:00:35 -05:00
parent d9b6918bc2
commit a2a29e7b76
1 changed files with 17 additions and 11 deletions

View File

@ -18,12 +18,15 @@
*/ */
package org.mitre.oauth2.web; package org.mitre.oauth2.web;
import java.util.Map;
import org.mitre.oauth2.exception.ClientNotFoundException; import org.mitre.oauth2.exception.ClientNotFoundException;
import org.mitre.oauth2.service.ClientDetailsEntityService; import org.mitre.oauth2.service.ClientDetailsEntityService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.oauth2.provider.AuthorizationRequest; import org.springframework.security.oauth2.provider.AuthorizationRequest;
import org.springframework.security.oauth2.provider.ClientDetails; import org.springframework.security.oauth2.provider.ClientDetails;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes; import org.springframework.web.bind.annotation.SessionAttributes;
@ -34,7 +37,7 @@ import org.springframework.web.servlet.ModelAndView;
* *
*/ */
@Controller @Controller
@SessionAttributes(types = AuthorizationRequest.class) @SessionAttributes("authorizationRequest")
public class OAuthConfirmationController { public class OAuthConfirmationController {
@Autowired @Autowired
@ -50,22 +53,25 @@ public class OAuthConfirmationController {
//@PreAuthorize("hasRole('ROLE_USER')") //@PreAuthorize("hasRole('ROLE_USER')")
@RequestMapping("/oauth/confirm_access") @RequestMapping("/oauth/confirm_access")
public ModelAndView confimAccess(@ModelAttribute AuthorizationRequest authRequest, ModelAndView modelAndView) { public ModelAndView confimAccess(Map<String, Object> model) {
ClientDetails client = clientService.loadClientByClientId(authRequest.getClientId()); AuthorizationRequest clientAuth = (AuthorizationRequest) model.remove("authorizationRequest");
ClientDetails client = clientService.loadClientByClientId(clientAuth.getClientId());
if (client == null) { if (client == null) {
throw new ClientNotFoundException("Client not found: " + authRequest.getClientId()); throw new ClientNotFoundException("Client not found: " + clientAuth.getClientId());
} }
String redirect_uri = authRequest.getAuthorizationParameters().get("redirect_uri"); model.put("auth_request", clientAuth);
model.put("client", client);
modelAndView.addObject("auth_request", authRequest); String redirect_uri = clientAuth.getAuthorizationParameters().get("redirect_uri");
modelAndView.addObject("client", client);
modelAndView.addObject("redirect_uri", redirect_uri);
modelAndView.setViewName("oauth/approve");
return modelAndView; model.put("redirect_uri", redirect_uri);
return new ModelAndView("oauth/approve", model);
} }
/** /**