Optimize
This commit is contained in:
@@ -57,9 +57,7 @@ public class TokenBasedAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
final static Logger _logger = LoggerFactory.getLogger(TokenBasedAuthorizeEndpoint.class);
|
||||
@Autowired
|
||||
AppsTokenBasedDetailsService tokenBasedDetailsService;
|
||||
|
||||
TokenBasedDefaultAdapter defaultTokenBasedAdapter=new TokenBasedDefaultAdapter();
|
||||
|
||||
|
||||
@Autowired
|
||||
ApplicationConfig applicationConfig;
|
||||
|
||||
@@ -84,42 +82,28 @@ public class TokenBasedAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
if(ConstsBoolean.isTrue(tokenBasedDetails.getIsAdapter())){
|
||||
adapter =(AbstractAuthorizeAdapter)Instance.newInstance(tokenBasedDetails.getAdapter());
|
||||
}else{
|
||||
adapter =(AbstractAuthorizeAdapter)defaultTokenBasedAdapter;
|
||||
adapter =(AbstractAuthorizeAdapter)new TokenBasedDefaultAdapter();
|
||||
}
|
||||
adapter.setAuthentication((SigninPrincipal)WebContext.getAuthentication().getPrincipal());
|
||||
adapter.setUserInfo(WebContext.getUserInfo());
|
||||
adapter.setApp(tokenBasedDetails);
|
||||
|
||||
String tokenData=adapter.generateInfo(
|
||||
(SigninPrincipal)WebContext.getAuthentication().getPrincipal(),
|
||||
WebContext.getUserInfo(),
|
||||
tokenBasedDetails);
|
||||
adapter.generateInfo();
|
||||
|
||||
String encryptTokenData=adapter.encrypt(
|
||||
tokenData,
|
||||
adapter.encrypt(
|
||||
null,
|
||||
tokenBasedDetails.getAlgorithmKey(),
|
||||
tokenBasedDetails.getAlgorithm());
|
||||
|
||||
String signTokenData=adapter.sign(
|
||||
encryptTokenData,
|
||||
tokenBasedDetails);
|
||||
|
||||
if(tokenBasedDetails.getTokenType().equalsIgnoreCase("POST")) {
|
||||
modelAndView=adapter.authorize(
|
||||
WebContext.getUserInfo(),
|
||||
tokenBasedDetails,
|
||||
signTokenData,
|
||||
modelAndView);
|
||||
|
||||
return modelAndView;
|
||||
return adapter.authorize(modelAndView);
|
||||
}else {
|
||||
_logger.debug("Cookie Name : {}" ,tokenBasedDetails.getCookieName());
|
||||
|
||||
String cookieValue="";
|
||||
cookieValue=signTokenData;
|
||||
Cookie cookie= new Cookie(tokenBasedDetails.getCookieName(),adapter.serialize());
|
||||
|
||||
_logger.debug("Cookie Name : "+tokenBasedDetails.getCookieName());
|
||||
|
||||
Cookie cookie= new Cookie(tokenBasedDetails.getCookieName(),cookieValue);
|
||||
|
||||
Integer maxAge=Integer.parseInt(tokenBasedDetails.getExpires())*60;
|
||||
_logger.debug("Cookie Max Age :"+maxAge+" seconds.");
|
||||
Integer maxAge=Integer.parseInt(tokenBasedDetails.getExpires()) * 60;
|
||||
_logger.debug("Cookie Max Age : {} seconds.",maxAge);
|
||||
cookie.setMaxAge(maxAge);
|
||||
|
||||
cookie.setPath("/");
|
||||
@@ -128,7 +112,7 @@ public class TokenBasedAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
//tomcat 8.5
|
||||
cookie.setDomain(applicationConfig.getBaseDomainName());
|
||||
|
||||
_logger.debug("Sub Domain Name : "+"."+applicationConfig.getBaseDomainName());
|
||||
_logger.debug("Sub Domain Name : .{}",applicationConfig.getBaseDomainName());
|
||||
response.addCookie(cookie);
|
||||
|
||||
if(tokenBasedDetails.getRedirectUri().indexOf(applicationConfig.getBaseDomainName())>-1){
|
||||
|
||||
@@ -20,9 +20,7 @@ package org.maxkey.authz.token.endpoint.adapter;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
||||
import org.maxkey.authn.SigninPrincipal;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.entity.UserInfo;
|
||||
import org.maxkey.entity.apps.AppsTokenBasedDetails;
|
||||
import org.maxkey.util.DateUtils;
|
||||
import org.maxkey.util.JsonUtils;
|
||||
@@ -34,8 +32,10 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
public class TokenBasedDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
final static Logger _logger = LoggerFactory.getLogger(TokenBasedDefaultAdapter.class);
|
||||
String token = "";
|
||||
|
||||
@Override
|
||||
public String generateInfo(SigninPrincipal authentication,UserInfo userInfo,Object app) {
|
||||
public Object generateInfo() {
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
HashMap<String,String> beanMap=new HashMap<String,String>();
|
||||
|
||||
@@ -90,24 +90,31 @@ public class TokenBasedDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
|
||||
beanMap.put("expires", expiresString);
|
||||
|
||||
String jsonString=JsonUtils.object2Json(beanMap);
|
||||
_logger.debug("Token : "+jsonString);
|
||||
token = JsonUtils.object2Json(beanMap);
|
||||
_logger.debug("Token : {}",token);
|
||||
|
||||
return jsonString;
|
||||
return token;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String encrypt(String data, String algorithmKey, String algorithm) {
|
||||
return super.encrypt(data, algorithmKey, algorithm);
|
||||
public Object encrypt(Object data, String algorithmKey, String algorithm) {
|
||||
token = super.encrypt(token, algorithmKey, algorithm).toString();
|
||||
return token;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
public ModelAndView authorize(ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/tokenbased_sso_submint");
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
modelAndView.addObject("action", details.getRedirectUri());
|
||||
|
||||
modelAndView.addObject("token",data );
|
||||
modelAndView.addObject("token",token );
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String serialize() {
|
||||
return token;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -19,9 +19,7 @@ package org.maxkey.authz.token.endpoint.adapter;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import org.maxkey.authn.SigninPrincipal;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.entity.UserInfo;
|
||||
import org.maxkey.entity.apps.AppsTokenBasedDetails;
|
||||
import org.maxkey.util.DateUtils;
|
||||
import org.slf4j.Logger;
|
||||
@@ -30,8 +28,10 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
public class TokenBasedSimpleAdapter extends AbstractAuthorizeAdapter {
|
||||
final static Logger _logger = LoggerFactory.getLogger(TokenBasedSimpleAdapter.class);
|
||||
String token = "";
|
||||
|
||||
@Override
|
||||
public String generateInfo(SigninPrincipal authentication,UserInfo userInfo,Object app) {
|
||||
public Object generateInfo() {
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
|
||||
String tokenUsername = userInfo.getUsername();
|
||||
@@ -62,26 +62,31 @@ public class TokenBasedSimpleAdapter extends AbstractAuthorizeAdapter {
|
||||
_logger.debug("UTC current Date : "+DateUtils.toUtc(currentDate));
|
||||
|
||||
|
||||
String tokenString=tokenUsername+"@@"+DateUtils.toUtc(currentDate);
|
||||
_logger.debug("Token : "+tokenString);
|
||||
token = tokenUsername+"@@"+DateUtils.toUtc(currentDate);
|
||||
_logger.debug("Token : {}",token);
|
||||
|
||||
return tokenString;
|
||||
return token;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String encrypt(String data, String algorithmKey, String algorithm) {
|
||||
return super.encrypt(data, algorithmKey, algorithm);
|
||||
public Object encrypt(Object data, String algorithmKey, String algorithm) {
|
||||
token = super.encrypt(token, algorithmKey, algorithm).toString();
|
||||
return token;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
public ModelAndView authorize(ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/tokenbased_sso_submint");
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
modelAndView.addObject("action", details.getRedirectUri());
|
||||
|
||||
modelAndView.addObject("token",data);
|
||||
modelAndView.addObject("token",token);
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String serialize() {
|
||||
return token;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user