Authentication 优化
This commit is contained in:
@@ -24,6 +24,7 @@ import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.maxkey.authn.SigninPrincipal;
|
||||
import org.maxkey.authz.endpoint.AuthorizeBaseEndpoint;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.authz.token.endpoint.adapter.TokenBasedDefaultAdapter;
|
||||
@@ -82,6 +83,7 @@ public class TokenBasedAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
}
|
||||
|
||||
String tokenData=adapter.generateInfo(
|
||||
(SigninPrincipal)WebContext.getAuthentication().getPrincipal(),
|
||||
WebContext.getUserInfo(),
|
||||
tokenBasedDetails);
|
||||
|
||||
|
||||
@@ -20,6 +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.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.AppsTokenBasedDetails;
|
||||
@@ -34,7 +35,7 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
public class TokenBasedDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
final static Logger _logger = LoggerFactory.getLogger(TokenBasedDefaultAdapter.class);
|
||||
@Override
|
||||
public String generateInfo(UserInfo userInfo,Object app) {
|
||||
public String generateInfo(SigninPrincipal authentication,UserInfo userInfo,Object app) {
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
HashMap<String,String> beanMap=new HashMap<String,String>();
|
||||
|
||||
@@ -71,7 +72,7 @@ public class TokenBasedDefaultAdapter extends AbstractAuthorizeAdapter {
|
||||
}
|
||||
|
||||
beanMap.put("displayName", userInfo.getDisplayName());
|
||||
beanMap.put(WebConstants.ONLINE_TICKET_NAME, userInfo.getOnlineTicket().getTicketId());
|
||||
beanMap.put(WebConstants.ONLINE_TICKET_NAME, authentication.getOnlineTicket());
|
||||
|
||||
/*
|
||||
* use UTC date time format
|
||||
|
||||
@@ -22,6 +22,7 @@ import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.maxkey.authn.SigninPrincipal;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.configuration.oidc.OIDCProviderMetadata;
|
||||
import org.maxkey.crypto.jwt.signer.service.JwtSigningAndValidationService;
|
||||
@@ -44,7 +45,7 @@ import com.nimbusds.jwt.SignedJWT;
|
||||
public class TokenBasedJWTAdapter extends AbstractAuthorizeAdapter {
|
||||
final static Logger _logger = LoggerFactory.getLogger(TokenBasedJWTAdapter.class);
|
||||
@Override
|
||||
public String generateInfo(UserInfo userInfo,Object app) {
|
||||
public String generateInfo(SigninPrincipal authentication,UserInfo userInfo,Object app) {
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
|
||||
|
||||
@@ -68,7 +69,7 @@ public class TokenBasedJWTAdapter extends AbstractAuthorizeAdapter {
|
||||
.claim("user_id", userInfo.getId())
|
||||
.claim("external_id", userInfo.getId())
|
||||
.claim("locale", userInfo.getLocale())
|
||||
.claim(WebConstants.ONLINE_TICKET_NAME, userInfo.getOnlineTicket().getTicketId())
|
||||
.claim(WebConstants.ONLINE_TICKET_NAME, authentication.getOnlineTicket())
|
||||
.claim("kid", jwtSignerService.getDefaultSignerKeyId())
|
||||
.build();
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.joda.time.DateTime;
|
||||
import org.maxkey.authn.SigninPrincipal;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.configuration.oidc.OIDCProviderMetadata;
|
||||
import org.maxkey.crypto.ReciprocalUtils;
|
||||
@@ -48,7 +49,7 @@ public class TokenBasedJWTHS256Adapter extends AbstractAuthorizeAdapter {
|
||||
private SymmetricSigningAndValidationServiceBuilder symmetricJwtSignerServiceBuilder=new SymmetricSigningAndValidationServiceBuilder();
|
||||
|
||||
@Override
|
||||
public String generateInfo(UserInfo userInfo,Object app) {
|
||||
public String generateInfo(SigninPrincipal authentication,UserInfo userInfo,Object app) {
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
|
||||
OIDCProviderMetadata providerMetadata= (OIDCProviderMetadata)WebContext.getBean("oidcProviderMetadata");
|
||||
@@ -68,7 +69,7 @@ public class TokenBasedJWTHS256Adapter extends AbstractAuthorizeAdapter {
|
||||
.claim("email", userInfo.getWorkEmail())
|
||||
.claim("name", userInfo.getUsername())
|
||||
.claim("user_id", userInfo.getId())
|
||||
.claim(WebConstants.ONLINE_TICKET_NAME, userInfo.getOnlineTicket().getTicketId())
|
||||
.claim(WebConstants.ONLINE_TICKET_NAME, authentication.getOnlineTicket())
|
||||
.claim("external_id", userInfo.getId())
|
||||
.claim("locale", userInfo.getLocale())
|
||||
.claim("kid", "SYMMETRIC-KEY")
|
||||
|
||||
@@ -19,6 +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.domain.UserInfo;
|
||||
import org.maxkey.domain.apps.AppsTokenBasedDetails;
|
||||
@@ -30,7 +31,7 @@ import org.springframework.web.servlet.ModelAndView;
|
||||
public class TokenBasedSimpleAdapter extends AbstractAuthorizeAdapter {
|
||||
final static Logger _logger = LoggerFactory.getLogger(TokenBasedSimpleAdapter.class);
|
||||
@Override
|
||||
public String generateInfo(UserInfo userInfo,Object app) {
|
||||
public String generateInfo(SigninPrincipal authentication,UserInfo userInfo,Object app) {
|
||||
AppsTokenBasedDetails details=(AppsTokenBasedDetails)app;
|
||||
|
||||
String tokenUsername = userInfo.getUsername();
|
||||
|
||||
Reference in New Issue
Block a user