package com.mobius.controllers;
import com.mobius.model.LoggedUser;
import com.mobius.model.MyAuthenticationToken;
import com.mobius.model.ResponseUser;
import com.mobius.model.SimpleResponse;
import org.springframework.context.annotation.Scope;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* Created with IntelliJ IDEA.
* User: Pawel
* Date: 17.12.13
* Time: 10:10
* To change this template use File | Settings | File Templates.
*/
@Controller
@RequestMapping("/")
@Scope("session")
public class AuthenticationA {
@RequestMapping(method = RequestMethod.GET, produces = "application/json")
public @ResponseBody
SimpleResponse auth(HttpServletRequest request) {
return SimpleResponse.createOk();
}
@RequestMapping(method = RequestMethod.GET, produces = "application/json", value = "/userdata")
public
@ResponseBody
ResponseUser userdata(HttpServletRequest request) {
SecurityContext context = SecurityContextHolder.getContext();
Authentication authentication = context.getAuthentication();
if (authentication instanceof MyAuthenticationToken) {
LoggedUser user = ((MyAuthenticationToken) authentication).getMyUser();
return user.getResponseUser();
}
return null;
}
}