m-11/6
This commit is contained in:
@@ -0,0 +1 @@
|
||||
/org/
|
||||
+32
-32
@@ -6,10 +6,10 @@ package org.maxkey.authz.endpoint;
|
||||
import org.maxkey.config.ApplicationConfig;
|
||||
import org.maxkey.crypto.ReciprocalUtils;
|
||||
import org.maxkey.dao.service.AccountsService;
|
||||
import org.maxkey.dao.service.ApplicationsService;
|
||||
import org.maxkey.dao.service.AppsService;
|
||||
import org.maxkey.domain.Accounts;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -25,8 +25,8 @@ public class AuthorizeBaseEndpoint {
|
||||
final static Logger _logger = LoggerFactory.getLogger(AuthorizeBaseEndpoint.class);
|
||||
|
||||
@Autowired
|
||||
@Qualifier("applicationsService")
|
||||
protected ApplicationsService applicationsService;
|
||||
@Qualifier("appsService")
|
||||
protected AppsService appsService;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("applicationConfig")
|
||||
@@ -36,58 +36,58 @@ public class AuthorizeBaseEndpoint {
|
||||
AccountsService accountsService;
|
||||
|
||||
|
||||
protected Applications getApplication(String id){
|
||||
Applications application=(Applications)WebContext.getAttribute(AuthorizeBaseEndpoint.class.getName());
|
||||
protected Apps getApp(String id){
|
||||
Apps app=(Apps)WebContext.getAttribute(AuthorizeBaseEndpoint.class.getName());
|
||||
//session中为空或者id不一致重新加载
|
||||
if(application==null||!application.getId().equalsIgnoreCase(id)) {
|
||||
application=applicationsService.get(id);
|
||||
if(app==null||!app.getId().equalsIgnoreCase(id)) {
|
||||
app=appsService.get(id);
|
||||
}
|
||||
if(application == null){
|
||||
if(app == null){
|
||||
_logger.error("Applications for id "+id + " is null");
|
||||
}
|
||||
WebContext.setAttribute(AuthorizeBaseEndpoint.class.getName(), application);
|
||||
return application;
|
||||
WebContext.setAttribute(AuthorizeBaseEndpoint.class.getName(), app);
|
||||
return app;
|
||||
}
|
||||
|
||||
protected Accounts getAppAccounts(Applications app){
|
||||
Accounts appAccount=new Accounts();
|
||||
protected Accounts getAccounts(Apps app){
|
||||
Accounts account=new Accounts();
|
||||
UserInfo userInfo=WebContext.getUserInfo();
|
||||
Applications application= getApplication(app.getId());
|
||||
if(application.getCredential()==Applications.CREDENTIALS.USER_DEFINED){
|
||||
Apps application= getApp(app.getId());
|
||||
if(application.getCredential()==Apps.CREDENTIALS.USER_DEFINED){
|
||||
|
||||
appAccount=accountsService.load(new Accounts(userInfo.getId(),application.getId()));
|
||||
if(appAccount!=null){
|
||||
appAccount.setRelatedPassword(ReciprocalUtils.decoder(appAccount.getRelatedPassword()));
|
||||
account=accountsService.load(new Accounts(userInfo.getId(),application.getId()));
|
||||
if(account!=null){
|
||||
account.setRelatedPassword(ReciprocalUtils.decoder(account.getRelatedPassword()));
|
||||
}
|
||||
}else if(application.getCredential()==Applications.CREDENTIALS.SHARED){
|
||||
}else if(application.getCredential()==Apps.CREDENTIALS.SHARED){
|
||||
|
||||
appAccount.setRelatedUsername(application.getSharedUsername());
|
||||
appAccount.setRelatedPassword(ReciprocalUtils.decoder(application.getSharedPassword()));
|
||||
account.setRelatedUsername(application.getSharedUsername());
|
||||
account.setRelatedPassword(ReciprocalUtils.decoder(application.getSharedPassword()));
|
||||
|
||||
}else if(application.getCredential()==Applications.CREDENTIALS.SYSTEM){
|
||||
}else if(application.getCredential()==Apps.CREDENTIALS.SYSTEM){
|
||||
|
||||
if(application.getSystemUserAttr().equalsIgnoreCase("uid")){
|
||||
appAccount.setUsername(userInfo.getId());
|
||||
account.setUsername(userInfo.getId());
|
||||
}else if(application.getSystemUserAttr().equalsIgnoreCase("username")){
|
||||
appAccount.setUsername(userInfo.getUsername());
|
||||
account.setUsername(userInfo.getUsername());
|
||||
}else if(application.getSystemUserAttr().equalsIgnoreCase("employeeNumber")){
|
||||
appAccount.setUsername(userInfo.getEmployeeNumber());
|
||||
account.setUsername(userInfo.getEmployeeNumber());
|
||||
}else if(application.getSystemUserAttr().equalsIgnoreCase("email")){
|
||||
appAccount.setUsername(userInfo.getEmail());
|
||||
account.setUsername(userInfo.getEmail());
|
||||
}else if(application.getSystemUserAttr().equalsIgnoreCase("windowsAccount")){
|
||||
appAccount.setUsername(userInfo.getWindowsAccount());
|
||||
account.setUsername(userInfo.getWindowsAccount());
|
||||
}
|
||||
//decoder database stored encode password
|
||||
appAccount.setRelatedPassword(ReciprocalUtils.decoder(WebContext.getUserInfo().getDecipherable()));
|
||||
account.setRelatedPassword(ReciprocalUtils.decoder(WebContext.getUserInfo().getDecipherable()));
|
||||
|
||||
|
||||
}else if(application.getCredential()==Applications.CREDENTIALS.NONE){
|
||||
}else if(application.getCredential()==Apps.CREDENTIALS.NONE){
|
||||
|
||||
appAccount.setUsername(userInfo.getUsername());
|
||||
appAccount.setRelatedPassword(userInfo.getUsername());
|
||||
account.setUsername(userInfo.getUsername());
|
||||
account.setRelatedPassword(userInfo.getUsername());
|
||||
|
||||
}
|
||||
return appAccount;
|
||||
return account;
|
||||
}
|
||||
|
||||
public ModelAndView generateInitCredentialModelAndView(String appId,String redirect_uri){
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ public class AuthorizeCredentialEndpoint extends AuthorizeBaseEndpoint{
|
||||
appUser.setDisplayName(userInfo.getDisplayName());
|
||||
|
||||
appUser.setAppId(appId);
|
||||
appUser.setAppName(getApplication(appId).getName());
|
||||
appUser.setAppName(getApp(appId).getName());
|
||||
|
||||
appUser.setRelatedUsername(identity_username);
|
||||
appUser.setRelatedPassword(ReciprocalUtils.encode(identity_password));
|
||||
|
||||
+5
-7
@@ -8,8 +8,8 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import org.maxkey.authz.oauth2.provider.ClientDetailsService;
|
||||
import org.maxkey.client.utils.HttpEncoder;
|
||||
import org.maxkey.constants.PROTOCOLS;
|
||||
import org.maxkey.dao.service.CasDetailsService;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.dao.service.AppsCasDetailsService;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.domain.apps.oauth2.provider.ClientDetails;
|
||||
import org.maxkey.web.WebConstants;
|
||||
import org.maxkey.web.WebContext;
|
||||
@@ -33,7 +33,7 @@ public class AuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
private ClientDetailsService clientDetailsService;
|
||||
|
||||
@Autowired
|
||||
CasDetailsService casDetailsService;
|
||||
AppsCasDetailsService casDetailsService;
|
||||
|
||||
//all single sign on url
|
||||
@RequestMapping("/authz/{id}")
|
||||
@@ -43,7 +43,7 @@ public class AuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
|
||||
ModelAndView modelAndView=null;
|
||||
|
||||
Applications application=getApplication(id);
|
||||
Apps application=getApp(id);
|
||||
WebContext.setAttribute(WebConstants.SINGLE_SIGN_ON_APP_ID, id);
|
||||
|
||||
if(application.getProtocol().equalsIgnoreCase(PROTOCOLS.EXTEND_API)){
|
||||
@@ -68,8 +68,6 @@ public class AuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
modelAndView=WebContext.forward("/authz/saml20/idpinit/"+application.getId());
|
||||
}else if (application.getProtocol().equalsIgnoreCase(PROTOCOLS.TOKENBASED)){
|
||||
modelAndView=WebContext.forward("/authorize/tokenbased/"+id);
|
||||
}else if (application.getProtocol().equalsIgnoreCase(PROTOCOLS.LTPA)){
|
||||
modelAndView=WebContext.forward("/authz/ltpa/"+id);
|
||||
}else if (application.getProtocol().equalsIgnoreCase(PROTOCOLS.CAS)){
|
||||
modelAndView=WebContext.forward("/authz/cas/"+id);
|
||||
}else if (application.getProtocol().equalsIgnoreCase(PROTOCOLS.DESKTOP)){
|
||||
@@ -87,7 +85,7 @@ public class AuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
public ModelAndView authorizeOAuth10a(
|
||||
@PathVariable("id") String id){
|
||||
|
||||
String redirec_uri=getApplication(id).getLoginUrl();
|
||||
String redirec_uri=getApp(id).getLoginUrl();
|
||||
return WebContext.redirect(redirec_uri);
|
||||
|
||||
}
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ import org.maxkey.crypto.cert.CertSigner;
|
||||
import org.maxkey.crypto.keystore.KeyStoreLoader;
|
||||
import org.maxkey.crypto.password.PasswordReciprocal;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -24,7 +24,7 @@ public abstract class AbstractAuthorizeAdapter {
|
||||
|
||||
public abstract String generateInfo(UserInfo userInfo,Object app);
|
||||
|
||||
public String sign(String data,Applications app){
|
||||
public String sign(String data,Apps app){
|
||||
if(BOOLEAN.isTrue(app.getIsSignature())){
|
||||
KeyStoreLoader keyStoreLoader=(KeyStoreLoader)WebContext.getBean("keyStoreLoader");
|
||||
try {
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
/org/
|
||||
@@ -0,0 +1 @@
|
||||
/com/
|
||||
+2
-2
@@ -15,7 +15,7 @@ import org.maxkey.authz.endpoint.AuthorizeBaseEndpoint;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.config.ApplicationConfig;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.dao.service.CasDetailsService;
|
||||
import org.maxkey.dao.service.AppsCasDetailsService;
|
||||
import org.maxkey.dao.service.UserInfoService;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.util.Instance;
|
||||
@@ -37,7 +37,7 @@ public class Cas20AuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
|
||||
final static Logger _logger = LoggerFactory.getLogger(Cas20AuthorizeEndpoint.class);
|
||||
@Autowired
|
||||
CasDetailsService casDetailsService;
|
||||
AppsCasDetailsService casDetailsService;
|
||||
|
||||
@Autowired
|
||||
ApplicationConfig applicationConfig;
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@ import org.maxkey.authz.endpoint.AuthorizeBaseEndpoint;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.config.ApplicationConfig;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.dao.service.CasDetailsService;
|
||||
import org.maxkey.dao.service.AppsCasDetailsService;
|
||||
import org.maxkey.dao.service.UserInfoService;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.util.Instance;
|
||||
@@ -36,7 +36,7 @@ public class Cas30AuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
|
||||
final static Logger _logger = LoggerFactory.getLogger(Cas30AuthorizeEndpoint.class);
|
||||
@Autowired
|
||||
CasDetailsService casDetailsService;
|
||||
AppsCasDetailsService casDetailsService;
|
||||
|
||||
@Autowired
|
||||
ApplicationConfig applicationConfig;
|
||||
|
||||
+8
-8
@@ -13,8 +13,8 @@ import org.maxkey.authz.cas.endpoint.ticket.ServiceTicketImpl;
|
||||
import org.maxkey.authz.cas.endpoint.ticket.service.TicketServices;
|
||||
import org.maxkey.authz.endpoint.AuthorizeBaseEndpoint;
|
||||
import org.maxkey.config.ApplicationConfig;
|
||||
import org.maxkey.dao.service.CasDetailsService;
|
||||
import org.maxkey.domain.apps.CasDetails;
|
||||
import org.maxkey.dao.service.AppsCasDetailsService;
|
||||
import org.maxkey.domain.apps.AppsCasDetails;
|
||||
import org.maxkey.web.WebConstants;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
@@ -37,7 +37,7 @@ public class CasAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
final static Logger _logger = LoggerFactory.getLogger(CasAuthorizeEndpoint.class);
|
||||
|
||||
@Autowired
|
||||
CasDetailsService casDetailsService;
|
||||
AppsCasDetailsService casDetailsService;
|
||||
|
||||
@Autowired
|
||||
ApplicationConfig applicationConfig;
|
||||
@@ -52,10 +52,10 @@ public class CasAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
HttpServletResponse response,
|
||||
@RequestParam(value=CasConstants.PARAMETER.SERVICE,required=false) String casService){
|
||||
|
||||
CasDetails casDetails=new CasDetails();
|
||||
AppsCasDetails casDetails=new AppsCasDetails();
|
||||
casDetails.setService(casService);
|
||||
|
||||
List<CasDetails> casDetailsList=casDetailsService.query(casDetails);
|
||||
List<AppsCasDetails> casDetailsList=casDetailsService.query(casDetails);
|
||||
|
||||
casDetails=(casDetailsList!=null && casDetailsList.size()==1)?casDetailsList.get(0):null;
|
||||
|
||||
@@ -69,12 +69,12 @@ public class CasAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
HttpServletResponse response,
|
||||
@PathVariable("id") String id){
|
||||
|
||||
CasDetails casDetails=casDetailsService.get(id);
|
||||
AppsCasDetails casDetails=casDetailsService.get(id);
|
||||
|
||||
return buildCasModelAndView(casDetails);
|
||||
}
|
||||
|
||||
private ModelAndView buildCasModelAndView(CasDetails casDetails){
|
||||
private ModelAndView buildCasModelAndView(AppsCasDetails casDetails){
|
||||
|
||||
_logger.debug(""+casDetails);
|
||||
|
||||
@@ -88,7 +88,7 @@ public class CasAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response){
|
||||
|
||||
CasDetails casDetails=(CasDetails)WebContext.getAttribute(CasConstants.PARAMETER.ENDPOINT_CAS_DETAILS);
|
||||
AppsCasDetails casDetails=(AppsCasDetails)WebContext.getAttribute(CasConstants.PARAMETER.ENDPOINT_CAS_DETAILS);
|
||||
ServiceTicketImpl serviceTicket=new ServiceTicketImpl(WebContext.getAuthentication(),casDetails);
|
||||
|
||||
String ticket=ticketServices.createTicket(serviceTicket);
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
package org.maxkey.authz.cas.endpoint.ticket;
|
||||
|
||||
import org.apache.commons.lang3.builder.HashCodeBuilder;
|
||||
import org.maxkey.domain.apps.CasDetails;
|
||||
import org.maxkey.domain.apps.AppsCasDetails;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
@@ -55,7 +55,7 @@ public abstract class AbstractTicket implements Ticket {
|
||||
|
||||
protected Authentication authentication;
|
||||
|
||||
protected CasDetails casDetails;
|
||||
protected AppsCasDetails casDetails;
|
||||
/**
|
||||
* Instantiates a new abstract ticket.
|
||||
*/
|
||||
@@ -131,7 +131,7 @@ public abstract class AbstractTicket implements Ticket {
|
||||
}
|
||||
|
||||
@Override
|
||||
public CasDetails getCasDetails() {
|
||||
public AppsCasDetails getCasDetails() {
|
||||
// TODO Auto-generated method stub
|
||||
return this.casDetails;
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package org.maxkey.authz.cas.endpoint.ticket;
|
||||
|
||||
import org.apache.commons.lang3.builder.EqualsBuilder;
|
||||
import org.maxkey.domain.apps.CasDetails;
|
||||
import org.maxkey.domain.apps.AppsCasDetails;
|
||||
import org.springframework.security.core.Authentication;
|
||||
|
||||
import javax.persistence.Column;
|
||||
@@ -55,7 +55,7 @@ public class ServiceTicketImpl extends AbstractTicket {
|
||||
/**
|
||||
* Instantiates a new service ticket impl.
|
||||
*/
|
||||
public ServiceTicketImpl(Authentication authentication,CasDetails casDetails) {
|
||||
public ServiceTicketImpl(Authentication authentication,AppsCasDetails casDetails) {
|
||||
// exists for JPA purposes
|
||||
this.authentication=authentication;
|
||||
this.casDetails=casDetails;
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@ package org.maxkey.authz.cas.endpoint.ticket;
|
||||
import java.io.Serializable;
|
||||
import java.time.ZonedDateTime;
|
||||
|
||||
import org.maxkey.domain.apps.CasDetails;
|
||||
import org.maxkey.domain.apps.AppsCasDetails;
|
||||
import org.springframework.security.core.Authentication;
|
||||
|
||||
/**
|
||||
@@ -78,7 +78,7 @@ public interface Ticket extends Serializable, Comparable<Ticket> {
|
||||
|
||||
ZonedDateTime getPreviousTimeUsed();
|
||||
|
||||
CasDetails getCasDetails();
|
||||
AppsCasDetails getCasDetails();
|
||||
|
||||
|
||||
}
|
||||
|
||||
+5
-5
@@ -9,9 +9,9 @@ import org.maxkey.authz.desktop.endpoint.adapter.DesktopDefaultAdapter;
|
||||
import org.maxkey.authz.endpoint.AuthorizeBaseEndpoint;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.dao.service.DesktopDetailsService;
|
||||
import org.maxkey.dao.service.AppsDesktopDetailsService;
|
||||
import org.maxkey.domain.Accounts;
|
||||
import org.maxkey.domain.apps.DesktopDetails;
|
||||
import org.maxkey.domain.apps.AppsDesktopDetails;
|
||||
import org.maxkey.util.Instance;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
@@ -31,7 +31,7 @@ public class DesktopAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
final static Logger _logger = LoggerFactory.getLogger(DesktopAuthorizeEndpoint.class);
|
||||
|
||||
@Autowired
|
||||
DesktopDetailsService desktopDetailsService;
|
||||
AppsDesktopDetailsService desktopDetailsService;
|
||||
|
||||
DesktopDefaultAdapter defaultDesktopAdapter=new DesktopDefaultAdapter();
|
||||
|
||||
@@ -39,10 +39,10 @@ public class DesktopAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
public ModelAndView authorize(
|
||||
HttpServletRequest request,
|
||||
@PathVariable("id") String id){
|
||||
DesktopDetails desktopDetails=desktopDetailsService.get(id);
|
||||
AppsDesktopDetails desktopDetails=desktopDetailsService.get(id);
|
||||
_logger.debug(""+desktopDetails);
|
||||
|
||||
Accounts appUser=getAppAccounts(desktopDetails);
|
||||
Accounts appUser=getAccounts(desktopDetails);
|
||||
if(appUser == null){
|
||||
return generateInitCredentialModelAndView(id,"/authorize/desktop/"+id);
|
||||
|
||||
|
||||
+7
-7
@@ -5,8 +5,8 @@ import java.util.HashMap;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.crypto.HexUtils;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.DesktopDetails;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.domain.apps.AppsDesktopDetails;
|
||||
import org.maxkey.util.JsonUtils;
|
||||
import org.maxkey.util.StringGenerator;
|
||||
import org.slf4j.Logger;
|
||||
@@ -17,14 +17,14 @@ public class DesktopDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
final static Logger _logger = LoggerFactory.getLogger(DesktopDefaultAdapter.class);
|
||||
@Override
|
||||
public String generateInfo(UserInfo userInfo,Object app) {
|
||||
DesktopDetails details=(DesktopDetails)app;
|
||||
AppsDesktopDetails details=(AppsDesktopDetails)app;
|
||||
String parameter=details.getParameter()==null?"":details.getParameter();
|
||||
|
||||
if(details.getUsernameType().equalsIgnoreCase(DesktopDetails.ParameterType.PARAMETER)){
|
||||
if(details.getUsernameType().equalsIgnoreCase(AppsDesktopDetails.ParameterType.PARAMETER)){
|
||||
parameter = parameter+ " "+details.getUsernameParameter();
|
||||
parameter = parameter+ " "+ details.getAppUser().getRelatedUsername();
|
||||
}
|
||||
if(details.getPasswordType().equalsIgnoreCase(DesktopDetails.ParameterType.PARAMETER)){
|
||||
if(details.getPasswordType().equalsIgnoreCase(AppsDesktopDetails.ParameterType.PARAMETER)){
|
||||
parameter = parameter+ " "+details.getPasswordParameter();
|
||||
parameter = parameter+ " "+ details.getAppUser().getRelatedPassword();
|
||||
}
|
||||
@@ -64,7 +64,7 @@ public class DesktopDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
* @see com.connsec.web.authorize.endpoint.adapter.AbstractAuthorizeAdapter#sign(java.lang.String, com.connsec.domain.apps.Applications)
|
||||
*/
|
||||
@Override
|
||||
public String sign(String data, Applications app) {
|
||||
public String sign(String data, Apps app) {
|
||||
String signData=super.sign(data, app);
|
||||
return signData;
|
||||
}
|
||||
@@ -72,7 +72,7 @@ public class DesktopDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/desktop_sso_execute");
|
||||
DesktopDetails details=(DesktopDetails)app;
|
||||
AppsDesktopDetails details=(AppsDesktopDetails)app;
|
||||
modelAndView.addObject("username", details.getAppUser().getRelatedUsername());
|
||||
modelAndView.addObject("password", details.getAppUser().getRelatedPassword());
|
||||
modelAndView.addObject("encoderParam", data);
|
||||
|
||||
+7
-7
@@ -5,8 +5,8 @@ import java.util.HashMap;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.crypto.HexUtils;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.DesktopDetails;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.domain.apps.AppsDesktopDetails;
|
||||
import org.maxkey.util.JsonUtils;
|
||||
import org.maxkey.util.StringGenerator;
|
||||
import org.slf4j.Logger;
|
||||
@@ -17,14 +17,14 @@ public class DesktopQQAdapter extends AbstractAuthorizeAdapter {
|
||||
final static Logger _logger = LoggerFactory.getLogger(DesktopQQAdapter.class);
|
||||
@Override
|
||||
public String generateInfo(UserInfo userInfo,Object app) {
|
||||
DesktopDetails details=(DesktopDetails)app;
|
||||
AppsDesktopDetails details=(AppsDesktopDetails)app;
|
||||
String parameter=details.getParameter()==null?"":details.getParameter();
|
||||
|
||||
if(details.getUsernameType().equalsIgnoreCase(DesktopDetails.ParameterType.PARAMETER)){
|
||||
if(details.getUsernameType().equalsIgnoreCase(AppsDesktopDetails.ParameterType.PARAMETER)){
|
||||
parameter = parameter+ " "+details.getUsernameParameter();
|
||||
parameter = parameter+ " "+ details.getAppUser().getRelatedUsername();
|
||||
}
|
||||
if(details.getPasswordType().equalsIgnoreCase(DesktopDetails.ParameterType.PARAMETER)){
|
||||
if(details.getPasswordType().equalsIgnoreCase(AppsDesktopDetails.ParameterType.PARAMETER)){
|
||||
parameter = parameter+ " "+details.getPasswordParameter();
|
||||
parameter = parameter+ " "+ details.getAppUser().getRelatedPassword();
|
||||
}
|
||||
@@ -64,7 +64,7 @@ public class DesktopQQAdapter extends AbstractAuthorizeAdapter {
|
||||
* @see com.connsec.web.authorize.endpoint.adapter.AbstractAuthorizeAdapter#sign(java.lang.String, com.connsec.domain.apps.Applications)
|
||||
*/
|
||||
@Override
|
||||
public String sign(String data, Applications app) {
|
||||
public String sign(String data, Apps app) {
|
||||
String signData=super.sign(data, app);
|
||||
return signData;
|
||||
}
|
||||
@@ -72,7 +72,7 @@ public class DesktopQQAdapter extends AbstractAuthorizeAdapter {
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/desktop_qq_sso_execute");
|
||||
DesktopDetails details=(DesktopDetails)app;
|
||||
AppsDesktopDetails details=(AppsDesktopDetails)app;
|
||||
modelAndView.addObject("username", details.getAppUser().getRelatedUsername());
|
||||
modelAndView.addObject("password", details.getAppUser().getRelatedPassword());
|
||||
modelAndView.addObject("encoderParam", data);
|
||||
|
||||
+4
-4
@@ -9,7 +9,7 @@ import org.maxkey.authz.endpoint.AuthorizeBaseEndpoint;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.domain.Accounts;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.util.Instance;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
@@ -30,11 +30,11 @@ public class ExtendApiAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
@RequestMapping("/authz/api/{id}")
|
||||
public ModelAndView authorize(HttpServletRequest request,@PathVariable("id") String id){
|
||||
|
||||
Applications apps=getApplication(id);
|
||||
Apps apps=getApp(id);
|
||||
_logger.debug(""+apps);
|
||||
|
||||
if(BOOLEAN.isTrue(apps.getIsAdapter())){
|
||||
Accounts appUser=getAppAccounts(apps);
|
||||
Accounts appUser=getAccounts(apps);
|
||||
|
||||
if(appUser == null){
|
||||
return generateInitCredentialModelAndView(id,"/authorize/api/"+id);
|
||||
@@ -53,7 +53,7 @@ public class ExtendApiAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
modelAndView);
|
||||
return modelAndView;
|
||||
}else{
|
||||
String redirec_uri=getApplication(id).getLoginUrl();
|
||||
String redirec_uri=getApp(id).getLoginUrl();
|
||||
return WebContext.redirect(redirec_uri);
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -8,7 +8,7 @@ import org.maxkey.client.oauth.model.Token;
|
||||
import org.maxkey.client.utils.JsonUtils;
|
||||
import org.maxkey.domain.ExtraAttrs;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -32,7 +32,7 @@ public class ExtendApiQQExmailDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
Applications details=(Applications)app;
|
||||
Apps details=(Apps)app;
|
||||
//extraAttrs from Applications
|
||||
ExtraAttrs extraAttrs=null;
|
||||
if(details.getIsExtendAttr()==1){
|
||||
|
||||
+7
-7
@@ -9,10 +9,10 @@ import org.maxkey.authz.endpoint.AuthorizeBaseEndpoint;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.authz.formbased.endpoint.adapter.FormBasedDefaultAdapter;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.dao.service.FormBasedDetailsService;
|
||||
import org.maxkey.dao.service.AppsFormBasedDetailsService;
|
||||
import org.maxkey.domain.Accounts;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.FormBasedDetails;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.domain.apps.AppsFormBasedDetails;
|
||||
import org.maxkey.util.Instance;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
@@ -32,7 +32,7 @@ public class FormBasedAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
final static Logger _logger = LoggerFactory.getLogger(FormBasedAuthorizeEndpoint.class);
|
||||
|
||||
@Autowired
|
||||
FormBasedDetailsService formBasedDetailsService;
|
||||
AppsFormBasedDetailsService formBasedDetailsService;
|
||||
|
||||
FormBasedDefaultAdapter defaultFormBasedAdapter=new FormBasedDefaultAdapter();
|
||||
|
||||
@@ -40,14 +40,14 @@ public class FormBasedAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
public ModelAndView authorize(
|
||||
HttpServletRequest request,
|
||||
@PathVariable("id") String id){
|
||||
FormBasedDetails formBasedDetails=formBasedDetailsService.get(id);
|
||||
AppsFormBasedDetails formBasedDetails=formBasedDetailsService.get(id);
|
||||
_logger.debug(""+formBasedDetails);
|
||||
Applications application= getApplication(id);
|
||||
Apps application= getApp(id);
|
||||
formBasedDetails.setAdapter(application.getAdapter());
|
||||
formBasedDetails.setIsAdapter(application.getIsAdapter());
|
||||
ModelAndView modelAndView=null;
|
||||
|
||||
Accounts appUser=getAppAccounts(formBasedDetails);
|
||||
Accounts appUser=getAccounts(formBasedDetails);
|
||||
|
||||
_logger.debug("Accounts "+appUser);
|
||||
if(appUser == null){
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.crypto.DigestUtils;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.FormBasedDetails;
|
||||
import org.maxkey.domain.apps.AppsFormBasedDetails;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
public class FormBasedDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
@@ -23,7 +23,7 @@ public class FormBasedDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/formbased_sso_submint");
|
||||
FormBasedDetails details=(FormBasedDetails)app;
|
||||
AppsFormBasedDetails details=(AppsFormBasedDetails)app;
|
||||
|
||||
modelAndView.addObject("username", details.getAppUser().getRelatedUsername());
|
||||
modelAndView.addObject("password", details.getAppUser().getRelatedPassword());
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@ package org.maxkey.authz.formbased.endpoint.adapter;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.FormBasedDetails;
|
||||
import org.maxkey.domain.apps.AppsFormBasedDetails;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
public class FormBasedNetease163EmailAdapter extends AbstractAuthorizeAdapter {
|
||||
@@ -22,7 +22,7 @@ public class FormBasedNetease163EmailAdapter extends AbstractAuthorizeAdapter {
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/formbased_netease_163email_sso_submint");
|
||||
FormBasedDetails details=(FormBasedDetails)app;
|
||||
AppsFormBasedDetails details=(AppsFormBasedDetails)app;
|
||||
modelAndView.addObject("username", details.getAppUser().getRelatedUsername().substring(details.getAppUser().getRelatedUsername().indexOf("@")));
|
||||
modelAndView.addObject("email", details.getAppUser().getRelatedUsername());
|
||||
modelAndView.addObject("password", details.getAppUser().getRelatedPassword());
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@ import java.util.Date;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.crypto.DigestUtils;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.FormBasedDetails;
|
||||
import org.maxkey.domain.apps.AppsFormBasedDetails;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
public class FormBasedNeteaseNoteYoudaoAdapter extends AbstractAuthorizeAdapter {
|
||||
@@ -24,7 +24,7 @@ public class FormBasedNeteaseNoteYoudaoAdapter extends AbstractAuthorizeAdapter
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/formbased_netease_noteyoudao_sso_submint");
|
||||
FormBasedDetails details=(FormBasedDetails)app;
|
||||
AppsFormBasedDetails details=(AppsFormBasedDetails)app;
|
||||
modelAndView.addObject("username", details.getAppUser().getRelatedUsername());
|
||||
modelAndView.addObject("password", DigestUtils.md5Hex(details.getAppUser().getRelatedPassword()));
|
||||
modelAndView.addObject("currentTime", (new Date()).getTime());
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.crypto.DigestUtils;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.FormBasedDetails;
|
||||
import org.maxkey.domain.apps.AppsFormBasedDetails;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
@@ -24,7 +24,7 @@ public class FormBasedRedirectAdapter extends AbstractAuthorizeAdapter {
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/formbased_redirect_submint");
|
||||
FormBasedDetails details=(FormBasedDetails)app;
|
||||
AppsFormBasedDetails details=(AppsFormBasedDetails)app;
|
||||
|
||||
modelAndView.addObject("id", details.getId());
|
||||
modelAndView.addObject("action", details.getRedirectUri());
|
||||
|
||||
@@ -10,11 +10,6 @@
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
||||
<arguments>
|
||||
@@ -28,7 +23,6 @@
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
|
||||
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
||||
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
|
||||
</natures>
|
||||
|
||||
@@ -3,7 +3,6 @@ connection.arguments=
|
||||
connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
|
||||
connection.java.home=null
|
||||
connection.jvm.arguments=
|
||||
connection.project.dir=../..
|
||||
containers=org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7/
|
||||
derived.resources=.gradle,build
|
||||
eclipse.preferences.version=1
|
||||
|
||||
+6
-6
@@ -12,9 +12,9 @@ import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.authz.ltpa.endpoint.adapter.LtpaDefaultAdapter;
|
||||
import org.maxkey.config.ApplicationConfig;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.dao.service.TokenBasedDetailsService;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.TokenBasedDetails;
|
||||
import org.maxkey.dao.service.AppsTokenBasedDetailsService;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.domain.apps.AppsTokenBasedDetails;
|
||||
import org.maxkey.util.Instance;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
@@ -34,7 +34,7 @@ public class LtpaAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
|
||||
final static Logger _logger = LoggerFactory.getLogger(LtpaAuthorizeEndpoint.class);
|
||||
@Autowired
|
||||
TokenBasedDetailsService tokenBasedDetailsService;
|
||||
AppsTokenBasedDetailsService tokenBasedDetailsService;
|
||||
|
||||
@Autowired
|
||||
ApplicationConfig applicationConfig;
|
||||
@@ -48,10 +48,10 @@ public class LtpaAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
@PathVariable("id") String id){
|
||||
|
||||
|
||||
TokenBasedDetails ltpaDetails=tokenBasedDetailsService.get(id);
|
||||
AppsTokenBasedDetails ltpaDetails=tokenBasedDetailsService.get(id);
|
||||
_logger.debug(""+ltpaDetails);
|
||||
String cookieValue="";
|
||||
Applications application= getApplication(id);
|
||||
Apps application= getApp(id);
|
||||
ltpaDetails.setAdapter(application.getAdapter());
|
||||
ltpaDetails.setIsAdapter(application.getIsAdapter());
|
||||
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@ import java.util.HashMap;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.TokenBasedDetails;
|
||||
import org.maxkey.domain.apps.AppsTokenBasedDetails;
|
||||
import org.maxkey.util.DateUtils;
|
||||
import org.maxkey.util.JsonUtils;
|
||||
import org.maxkey.util.StringGenerator;
|
||||
@@ -18,7 +18,7 @@ public class LtpaDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
final static Logger _logger = LoggerFactory.getLogger(LtpaDefaultAdapter.class);
|
||||
@Override
|
||||
public String generateInfo(UserInfo userInfo,Object app) {
|
||||
TokenBasedDetails details=(TokenBasedDetails)app;
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
HashMap<String,String> beanMap=new HashMap<String,String>();
|
||||
|
||||
beanMap.put("randomId",(new StringGenerator()).uuidGenerate());
|
||||
|
||||
+5
-5
@@ -67,22 +67,22 @@ public class JdbcClientDetailsService implements ClientDetailsService, ClientReg
|
||||
private static final String CLIENT_FIELDS = "client_secret, " + CLIENT_FIELDS_FOR_UPDATE;
|
||||
|
||||
private static final String BASE_FIND_STATEMENT = "select client_id, " + CLIENT_FIELDS
|
||||
+ " from oauth_client_details";
|
||||
+ " from apps_oauth_client_details";
|
||||
|
||||
private static final String DEFAULT_FIND_STATEMENT = BASE_FIND_STATEMENT + " order by client_id";
|
||||
|
||||
private static final String DEFAULT_SELECT_STATEMENT = BASE_FIND_STATEMENT + " where client_id = ?";
|
||||
|
||||
private static final String DEFAULT_INSERT_STATEMENT = "insert into oauth_client_details (" + CLIENT_FIELDS
|
||||
private static final String DEFAULT_INSERT_STATEMENT = "insert into apps_oauth_client_details (" + CLIENT_FIELDS
|
||||
+ ", client_id) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
|
||||
|
||||
private static final String DEFAULT_UPDATE_STATEMENT = "update oauth_client_details " + "set "
|
||||
private static final String DEFAULT_UPDATE_STATEMENT = "update apps_oauth_client_details " + "set "
|
||||
+ CLIENT_FIELDS_FOR_UPDATE.replaceAll(", ", "=?, ") + "=? where client_id = ?";
|
||||
|
||||
private static final String DEFAULT_UPDATE_SECRET_STATEMENT = "update oauth_client_details "
|
||||
private static final String DEFAULT_UPDATE_SECRET_STATEMENT = "update apps_oauth_client_details "
|
||||
+ "set client_secret = ? where client_id = ?";
|
||||
|
||||
private static final String DEFAULT_DELETE_STATEMENT = "delete from oauth_client_details where client_id = ?";
|
||||
private static final String DEFAULT_DELETE_STATEMENT = "delete from apps_oauth_client_details where client_id = ?";
|
||||
|
||||
private RowMapper<ClientDetails> rowMapper = new ClientDetailsRowMapper();
|
||||
|
||||
|
||||
+4
-4
@@ -17,10 +17,10 @@ import org.maxkey.crypto.jwt.encryption.service.JwtEncryptionAndDecryptionServic
|
||||
import org.maxkey.crypto.jwt.encryption.service.impl.RecipientJwtEncryptionAndDecryptionServiceBuilder;
|
||||
import org.maxkey.crypto.jwt.signer.service.JwtSigningAndValidationService;
|
||||
import org.maxkey.crypto.jwt.signer.service.impl.SymmetricSigningAndValidationServiceBuilder;
|
||||
import org.maxkey.dao.service.ApplicationsService;
|
||||
import org.maxkey.dao.service.AppsService;
|
||||
import org.maxkey.dao.service.UserInfoService;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.domain.apps.oauth2.provider.ClientDetails;
|
||||
import org.maxkey.util.Instance;
|
||||
import org.maxkey.util.JsonUtils;
|
||||
@@ -65,7 +65,7 @@ public class UserInfoEndpoint {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("applicationsService")
|
||||
protected ApplicationsService applicationsService;
|
||||
protected AppsService applicationsService;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("jwtSignerValidationService")
|
||||
@@ -100,7 +100,7 @@ public class UserInfoEndpoint {
|
||||
|
||||
String client_id= oAuth2Authentication.getOAuth2Request().getClientId();
|
||||
UserInfo userInfo=queryUserInfo(principal);
|
||||
Applications app=applicationsService.get(client_id);
|
||||
Apps app=applicationsService.get(client_id);
|
||||
|
||||
String userJson="";
|
||||
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.maxkey.authz.saml.common.AuthnRequestInfo;
|
||||
import org.maxkey.domain.apps.SAML20Details;
|
||||
import org.maxkey.domain.apps.AppsSAML20Details;
|
||||
import org.opensaml.common.SignableSAMLObject;
|
||||
import org.opensaml.common.binding.SAMLMessageContext;
|
||||
import org.opensaml.saml2.metadata.Endpoint;
|
||||
@@ -34,7 +34,7 @@ public interface BindingAdapter {
|
||||
|
||||
public void setRelayState(String relayState);
|
||||
|
||||
public SAML20Details getSaml20Details();
|
||||
public AppsSAML20Details getSaml20Details();
|
||||
|
||||
public AuthnRequestInfo getAuthnRequestInfo();
|
||||
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ import java.security.KeyStore;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.maxkey.crypto.keystore.KeyStoreLoader;
|
||||
import org.maxkey.domain.apps.SAML20Details;
|
||||
import org.maxkey.domain.apps.AppsSAML20Details;
|
||||
import org.opensaml.common.binding.SAMLMessageContext;
|
||||
import org.opensaml.ws.message.decoder.MessageDecodingException;
|
||||
import org.opensaml.ws.security.SecurityPolicyResolver;
|
||||
@@ -29,9 +29,9 @@ public interface ExtractBindingAdapter {
|
||||
|
||||
public void buildSecurityPolicyResolver(KeyStore trustKeyStore);
|
||||
|
||||
public void setSaml20Detail(SAML20Details saml20Detail);
|
||||
public void setSaml20Detail(AppsSAML20Details saml20Detail);
|
||||
|
||||
public SAML20Details getSaml20Detail();
|
||||
public AppsSAML20Details getSaml20Detail();
|
||||
|
||||
public KeyStoreLoader getKeyStoreLoader();
|
||||
|
||||
|
||||
+4
-4
@@ -7,7 +7,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.maxkey.authz.saml.common.TrustResolver;
|
||||
import org.maxkey.crypto.keystore.KeyStoreLoader;
|
||||
import org.maxkey.domain.apps.SAML20Details;
|
||||
import org.maxkey.domain.apps.AppsSAML20Details;
|
||||
import org.opensaml.common.binding.BasicSAMLMessageContext;
|
||||
import org.opensaml.common.binding.SAMLMessageContext;
|
||||
import org.opensaml.common.binding.decoding.SAMLMessageDecoder;
|
||||
@@ -35,7 +35,7 @@ public class ExtractPostBindingAdapter implements ExtractBindingAdapter, Initial
|
||||
protected KeyStoreLoader keyStoreLoader;
|
||||
protected CredentialResolver credentialResolver;
|
||||
|
||||
protected SAML20Details saml20Detail;
|
||||
protected AppsSAML20Details saml20Detail;
|
||||
|
||||
|
||||
public ExtractPostBindingAdapter() {
|
||||
@@ -119,11 +119,11 @@ public class ExtractPostBindingAdapter implements ExtractBindingAdapter, Initial
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSaml20Detail(SAML20Details saml20Detail) {
|
||||
public void setSaml20Detail(AppsSAML20Details saml20Detail) {
|
||||
this.saml20Detail=saml20Detail;
|
||||
}
|
||||
|
||||
public SAML20Details getSaml20Detail() {
|
||||
public AppsSAML20Details getSaml20Detail() {
|
||||
return saml20Detail;
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@ import org.maxkey.authz.saml.common.AuthnRequestInfo;
|
||||
import org.maxkey.authz.saml.common.TrustResolver;
|
||||
import org.maxkey.crypto.keystore.KeyStoreLoader;
|
||||
import org.maxkey.crypto.keystore.KeyStoreUtil;
|
||||
import org.maxkey.domain.apps.SAML20Details;
|
||||
import org.maxkey.domain.apps.AppsSAML20Details;
|
||||
import org.opensaml.common.SignableSAMLObject;
|
||||
import org.opensaml.common.binding.BasicSAMLMessageContext;
|
||||
import org.opensaml.common.binding.decoding.SAMLMessageDecoder;
|
||||
@@ -209,7 +209,7 @@ public class PostBindingAdapter implements BindingAdapter, InitializingBean{
|
||||
}
|
||||
|
||||
@Override
|
||||
public SAML20Details getSaml20Details() {
|
||||
public AppsSAML20Details getSaml20Details() {
|
||||
return extractBindingAdapter.getSaml20Detail();
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -25,8 +25,8 @@ import org.maxkey.authz.saml20.provider.xml.AuthnResponseGenerator;
|
||||
import org.maxkey.authz.saml20.xml.SAML2ValidatorSuite;
|
||||
import org.maxkey.constants.LOGINTYPE;
|
||||
import org.maxkey.crypto.keystore.KeyStoreLoader;
|
||||
import org.maxkey.dao.service.Saml20DetailsService;
|
||||
import org.maxkey.domain.apps.SAML20Details;
|
||||
import org.maxkey.dao.service.AppsSaml20DetailsService;
|
||||
import org.maxkey.domain.apps.AppsSAML20Details;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.opensaml.common.binding.SAMLMessageContext;
|
||||
import org.opensaml.common.binding.security.IssueInstantRule;
|
||||
@@ -80,7 +80,7 @@ public class ConsumerEndpoint {
|
||||
private ExtractBindingAdapter extractBindingAdapter;
|
||||
|
||||
@Autowired
|
||||
private Saml20DetailsService saml20DetailsService;
|
||||
private AppsSaml20DetailsService saml20DetailsService;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("issueInstantRule")
|
||||
@@ -200,7 +200,7 @@ public class ConsumerEndpoint {
|
||||
*/
|
||||
private void initCredential(String spId) throws Exception {
|
||||
// 1. 获取 sp keyStore
|
||||
SAML20Details saml20Details = saml20DetailsService.get(spId);
|
||||
AppsSAML20Details saml20Details = saml20DetailsService.get(spId);
|
||||
if (saml20Details == null) {
|
||||
// TODO
|
||||
logger.error("spid[" + spId + "] not exists");
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@ import org.maxkey.authz.saml.common.AuthnRequestInfo;
|
||||
import org.maxkey.authz.saml.common.EndpointGenerator;
|
||||
import org.maxkey.authz.saml20.BindingAdapter;
|
||||
import org.maxkey.authz.saml20.provider.xml.AuthnResponseGenerator;
|
||||
import org.maxkey.domain.apps.SAML20Details;
|
||||
import org.maxkey.domain.apps.AppsSAML20Details;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.opensaml.saml2.core.Response;
|
||||
import org.opensaml.saml2.metadata.Endpoint;
|
||||
@@ -47,7 +47,7 @@ public class AssertionEndpoint {
|
||||
logger.debug("saml20 assertion start.");
|
||||
bindingAdapter = (BindingAdapter) request.getSession().getAttribute("samlv20Adapter");
|
||||
logger.debug("saml20 assertion get session samlv20Adapter "+bindingAdapter);
|
||||
SAML20Details saml20Details = bindingAdapter.getSaml20Details();
|
||||
AppsSAML20Details saml20Details = bindingAdapter.getSaml20Details();
|
||||
|
||||
AuthnRequestInfo authnRequestInfo = bindingAdapter.getAuthnRequestInfo();
|
||||
|
||||
|
||||
+4
-4
@@ -10,8 +10,8 @@ import org.maxkey.authz.saml20.BindingAdapter;
|
||||
import org.maxkey.authz.saml20.ExtractBindingAdapter;
|
||||
import org.maxkey.crypto.keystore.KeyStoreLoader;
|
||||
import org.maxkey.crypto.keystore.KeyStoreUtil;
|
||||
import org.maxkey.dao.service.Saml20DetailsService;
|
||||
import org.maxkey.domain.apps.SAML20Details;
|
||||
import org.maxkey.dao.service.AppsSaml20DetailsService;
|
||||
import org.maxkey.domain.apps.AppsSAML20Details;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -52,7 +52,7 @@ public class IdpInitEndpoint {
|
||||
private KeyStoreLoader keyStoreLoader;
|
||||
|
||||
@Autowired
|
||||
private Saml20DetailsService saml20DetailsService;
|
||||
private AppsSaml20DetailsService saml20DetailsService;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -70,7 +70,7 @@ public class IdpInitEndpoint {
|
||||
HttpServletResponse response,
|
||||
@PathVariable("appid") String appId)throws Exception {
|
||||
logger.debug("SAML IDP init , app id is "+appId);
|
||||
SAML20Details saml20Details = saml20DetailsService.get(appId);
|
||||
AppsSAML20Details saml20Details = saml20DetailsService.get(appId);
|
||||
|
||||
if (saml20Details == null) {
|
||||
logger.error("samlId[" + appId + "] Error .");
|
||||
|
||||
+4
-4
@@ -10,8 +10,8 @@ import org.maxkey.authz.saml20.BindingAdapter;
|
||||
import org.maxkey.authz.saml20.ExtractBindingAdapter;
|
||||
import org.maxkey.authz.saml20.xml.SAML2ValidatorSuite;
|
||||
import org.maxkey.crypto.keystore.KeyStoreUtil;
|
||||
import org.maxkey.dao.service.Saml20DetailsService;
|
||||
import org.maxkey.domain.apps.SAML20Details;
|
||||
import org.maxkey.dao.service.AppsSaml20DetailsService;
|
||||
import org.maxkey.domain.apps.AppsSAML20Details;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.opensaml.common.binding.SAMLMessageContext;
|
||||
import org.opensaml.saml2.core.AuthnRequest;
|
||||
@@ -55,7 +55,7 @@ public class SingleSignOnEndpoint {
|
||||
private SAML2ValidatorSuite validatorSuite;
|
||||
|
||||
@Autowired
|
||||
private Saml20DetailsService saml20DetailsService;
|
||||
private AppsSaml20DetailsService saml20DetailsService;
|
||||
|
||||
@RequestMapping(value = "/authz/saml20/{appid}", method=RequestMethod.POST)
|
||||
public ModelAndView authorizePost(
|
||||
@@ -89,7 +89,7 @@ public class SingleSignOnEndpoint {
|
||||
}
|
||||
|
||||
public void extractSaml20Detail(ExtractBindingAdapter extractBindingAdapter,String samlId) throws Exception{
|
||||
SAML20Details saml20Details = saml20DetailsService.get(samlId);
|
||||
AppsSAML20Details saml20Details = saml20DetailsService.get(samlId);
|
||||
|
||||
if (saml20Details == null) {
|
||||
logger.error("Request SAML APPID [" + samlId + "] is not exist .");
|
||||
|
||||
+2
-2
@@ -11,7 +11,7 @@ import org.maxkey.authz.saml.service.IDService;
|
||||
import org.maxkey.authz.saml.service.TimeService;
|
||||
import org.maxkey.authz.saml20.xml.IssuerGenerator;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.domain.apps.SAML20Details;
|
||||
import org.maxkey.domain.apps.AppsSAML20Details;
|
||||
import org.opensaml.Configuration;
|
||||
import org.opensaml.saml2.core.Assertion;
|
||||
import org.opensaml.saml2.core.EncryptedAssertion;
|
||||
@@ -55,7 +55,7 @@ public class AuthnResponseGenerator {
|
||||
}
|
||||
|
||||
|
||||
public Response generateAuthnResponse( SAML20Details saml20Details,
|
||||
public Response generateAuthnResponse( AppsSAML20Details saml20Details,
|
||||
AuthnRequestInfo authnRequestInfo,
|
||||
String nameIdValue,
|
||||
String clientAddress,
|
||||
|
||||
+6
-6
@@ -11,9 +11,9 @@ import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.authz.token.endpoint.adapter.TokenBasedDefaultAdapter;
|
||||
import org.maxkey.config.ApplicationConfig;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.dao.service.TokenBasedDetailsService;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.TokenBasedDetails;
|
||||
import org.maxkey.dao.service.AppsTokenBasedDetailsService;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.domain.apps.AppsTokenBasedDetails;
|
||||
import org.maxkey.util.Instance;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
@@ -33,7 +33,7 @@ public class TokenBasedAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
|
||||
final static Logger _logger = LoggerFactory.getLogger(TokenBasedAuthorizeEndpoint.class);
|
||||
@Autowired
|
||||
TokenBasedDetailsService tokenBasedDetailsService;
|
||||
AppsTokenBasedDetailsService tokenBasedDetailsService;
|
||||
|
||||
TokenBasedDefaultAdapter defaultTokenBasedAdapter=new TokenBasedDefaultAdapter();
|
||||
|
||||
@@ -48,11 +48,11 @@ public class TokenBasedAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
ModelAndView modelAndView=new ModelAndView();
|
||||
|
||||
|
||||
TokenBasedDetails tokenBasedDetails=null;
|
||||
AppsTokenBasedDetails tokenBasedDetails=null;
|
||||
tokenBasedDetails=tokenBasedDetailsService.get(id);
|
||||
_logger.debug(""+tokenBasedDetails);
|
||||
|
||||
Applications application= getApplication(id);
|
||||
Apps application= getApp(id);
|
||||
tokenBasedDetails.setAdapter(application.getAdapter());
|
||||
tokenBasedDetails.setIsAdapter(application.getIsAdapter());
|
||||
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@ import java.util.HashMap;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.TokenBasedDetails;
|
||||
import org.maxkey.domain.apps.AppsTokenBasedDetails;
|
||||
import org.maxkey.util.DateUtils;
|
||||
import org.maxkey.util.JsonUtils;
|
||||
import org.maxkey.util.StringGenerator;
|
||||
@@ -18,7 +18,7 @@ public class TokenBasedDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
final static Logger _logger = LoggerFactory.getLogger(TokenBasedDefaultAdapter.class);
|
||||
@Override
|
||||
public String generateInfo(UserInfo userInfo,Object app) {
|
||||
TokenBasedDetails details=(TokenBasedDetails)app;
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
HashMap<String,String> beanMap=new HashMap<String,String>();
|
||||
|
||||
beanMap.put("randomId",(new StringGenerator()).uuidGenerate());
|
||||
@@ -77,7 +77,7 @@ public class TokenBasedDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/tokenbased_sso_submint");
|
||||
TokenBasedDetails details=(TokenBasedDetails)app;
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
modelAndView.addObject("action", details.getRedirectUri());
|
||||
|
||||
modelAndView.addObject("token",data );
|
||||
|
||||
+5
-5
@@ -9,8 +9,8 @@ import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.config.oidc.OIDCProviderMetadata;
|
||||
import org.maxkey.crypto.jwt.signer.service.JwtSigningAndValidationService;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.TokenBasedDetails;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.domain.apps.AppsTokenBasedDetails;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -27,7 +27,7 @@ public class TokenBasedJWTAdapter extends AbstractAuthorizeAdapter {
|
||||
final static Logger _logger = LoggerFactory.getLogger(TokenBasedJWTAdapter.class);
|
||||
@Override
|
||||
public String generateInfo(UserInfo userInfo,Object app) {
|
||||
TokenBasedDetails details=(TokenBasedDetails)app;
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
|
||||
|
||||
JwtSigningAndValidationService jwtSignerService= (JwtSigningAndValidationService)WebContext.getBean("jwtSignerValidationService");
|
||||
@@ -84,7 +84,7 @@ public class TokenBasedJWTAdapter extends AbstractAuthorizeAdapter {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String sign(String data, Applications app) {
|
||||
public String sign(String data, Apps app) {
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -92,7 +92,7 @@ public class TokenBasedJWTAdapter extends AbstractAuthorizeAdapter {
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/tokenbased_jwt_sso_submint");
|
||||
TokenBasedDetails details=(TokenBasedDetails)app;
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
modelAndView.addObject("action", details.getRedirectUri());
|
||||
_logger.debug("jwt Token data : "+data);
|
||||
|
||||
|
||||
+5
-5
@@ -11,8 +11,8 @@ import org.maxkey.crypto.ReciprocalUtils;
|
||||
import org.maxkey.crypto.jwt.signer.service.JwtSigningAndValidationService;
|
||||
import org.maxkey.crypto.jwt.signer.service.impl.SymmetricSigningAndValidationServiceBuilder;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.Applications;
|
||||
import org.maxkey.domain.apps.TokenBasedDetails;
|
||||
import org.maxkey.domain.apps.Apps;
|
||||
import org.maxkey.domain.apps.AppsTokenBasedDetails;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -31,7 +31,7 @@ public class TokenBasedJWTHS256Adapter extends AbstractAuthorizeAdapter {
|
||||
|
||||
@Override
|
||||
public String generateInfo(UserInfo userInfo,Object app) {
|
||||
TokenBasedDetails details=(TokenBasedDetails)app;
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
|
||||
OIDCProviderMetadata providerMetadata= (OIDCProviderMetadata)WebContext.getBean("oidcProviderMetadata");
|
||||
|
||||
@@ -81,7 +81,7 @@ public class TokenBasedJWTHS256Adapter extends AbstractAuthorizeAdapter {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String sign(String data, Applications app) {
|
||||
public String sign(String data, Apps app) {
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -89,7 +89,7 @@ public class TokenBasedJWTHS256Adapter extends AbstractAuthorizeAdapter {
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/tokenbased_jwt_sso_submint");
|
||||
TokenBasedDetails details=(TokenBasedDetails)app;
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
modelAndView.addObject("action", details.getRedirectUri());
|
||||
_logger.debug("jwt Token data : "+data);
|
||||
|
||||
|
||||
+3
-3
@@ -5,7 +5,7 @@ import java.util.Date;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.BOOLEAN;
|
||||
import org.maxkey.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.TokenBasedDetails;
|
||||
import org.maxkey.domain.apps.AppsTokenBasedDetails;
|
||||
import org.maxkey.util.DateUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -15,7 +15,7 @@ public class TokenBasedSimpleAdapter extends AbstractAuthorizeAdapter {
|
||||
final static Logger _logger = LoggerFactory.getLogger(TokenBasedSimpleAdapter.class);
|
||||
@Override
|
||||
public String generateInfo(UserInfo userInfo,Object app) {
|
||||
TokenBasedDetails details=(TokenBasedDetails)app;
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
|
||||
String tokenUsername="";
|
||||
|
||||
@@ -55,7 +55,7 @@ public class TokenBasedSimpleAdapter extends AbstractAuthorizeAdapter {
|
||||
@Override
|
||||
public ModelAndView authorize(UserInfo userInfo, Object app, String data,ModelAndView modelAndView) {
|
||||
modelAndView.setViewName("authorize/tokenbased_sso_submint");
|
||||
TokenBasedDetails details=(TokenBasedDetails)app;
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
modelAndView.addObject("action", details.getRedirectUri());
|
||||
|
||||
modelAndView.addObject("token",data);
|
||||
|
||||
Reference in New Issue
Block a user