Commit 7e9edf1d79f42c8876ef265f7d401f219501b691

Authored by PauloGladson
1 parent b20dad3a

Segurança e ajustes nos pacotes

demoiselle-security-jwt/src/main/java/org/demoiselle/jee/security/jwt/impl/TokensManagerImpl.java
@@ -29,7 +29,7 @@ import org.jose4j.lang.JoseException; @@ -29,7 +29,7 @@ import org.jose4j.lang.JoseException;
29 * 29 *
30 * @author 70744416353 30 * @author 70744416353
31 */ 31 */
32 -@Dependent 32 +@RequestScoped
33 public class TokensManagerImpl implements TokensManager { 33 public class TokensManagerImpl implements TokensManager {
34 34
35 @Inject 35 @Inject
@@ -49,9 +49,6 @@ public class TokensManagerImpl implements TokensManager { @@ -49,9 +49,6 @@ public class TokensManagerImpl implements TokensManager {
49 public TokensManagerImpl() throws JoseException { 49 public TokensManagerImpl() throws JoseException {
50 if (rsaJsonWebKey == null) { 50 if (rsaJsonWebKey == null) {
51 // RsaJsonWebKey chave = RsaJwkGenerator.generateJwk(2048); 51 // RsaJsonWebKey chave = RsaJwkGenerator.generateJwk(2048);
52 -// logger.info("Se você quiser usar sua app em cluster, coloque o parametro jwt.key no app.properties e reinicie a aplicacao");  
53 -// logger.log(Level.INFO, "jwt.key={0}", chave);  
54 -// logger.info("Se você não usar esse parametro, a cada reinicialização será gerada uma nova chave privada, isso inviabiliza o uso em cluster ");  
55 rsaJsonWebKey = (RsaJsonWebKey) RsaJsonWebKey.Factory.newPublicJwk(RsaJwkGenerator.generateJwk(2048).getKey()); 52 rsaJsonWebKey = (RsaJsonWebKey) RsaJsonWebKey.Factory.newPublicJwk(RsaJwkGenerator.generateJwk(2048).getKey());
56 rsaJsonWebKey.setKeyId("demoiselle-security-jwt"); 53 rsaJsonWebKey.setKeyId("demoiselle-security-jwt");
57 } 54 }
@@ -78,13 +75,14 @@ public class TokensManagerImpl implements TokensManager { @@ -78,13 +75,14 @@ public class TokensManagerImpl implements TokensManager {
78 if (!ip.equalsIgnoreCase((String) jwtClaims.getClaimValue("ip"))) { 75 if (!ip.equalsIgnoreCase((String) jwtClaims.getClaimValue("ip"))) {
79 return null; 76 return null;
80 } 77 }
  78 + return loggedUser;
81 } catch (InvalidJwtException ex) { 79 } catch (InvalidJwtException ex) {
82 loggedUser = null; 80 loggedUser = null;
83 token.setKey(null); 81 token.setKey(null);
84 logger.severe(ex.getMessage()); 82 logger.severe(ex.getMessage());
85 } 83 }
86 } 84 }
87 - return loggedUser; 85 + return null;
88 } 86 }
89 87
90 @Override 88 @Override
@@ -110,6 +108,7 @@ public class TokensManagerImpl implements TokensManager { @@ -110,6 +108,7 @@ public class TokensManagerImpl implements TokensManager {
110 jws.setKeyIdHeaderValue(rsaJsonWebKey.getKeyId()); 108 jws.setKeyIdHeaderValue(rsaJsonWebKey.getKeyId());
111 jws.setAlgorithmHeaderValue(AlgorithmIdentifiers.HMAC_SHA512); 109 jws.setAlgorithmHeaderValue(AlgorithmIdentifiers.HMAC_SHA512);
112 token.setKey(jws.getCompactSerialization()); 110 token.setKey(jws.getCompactSerialization());
  111 + token.setType("JWT");
113 } catch (JoseException ex) { 112 } catch (JoseException ex) {
114 ex.printStackTrace(); 113 ex.printStackTrace();
115 // logger.severe(ex.getMessage()); 114 // logger.severe(ex.getMessage());
demoiselle-security-token/src/main/java/org/demoiselle/jee/security/token/impl/TokensManagerImpl.java
@@ -5,13 +5,10 @@ @@ -5,13 +5,10 @@
5 */ 5 */
6 package org.demoiselle.jee.security.token.impl; 6 package org.demoiselle.jee.security.token.impl;
7 7
8 -import java.util.Iterator;  
9 -import java.util.Map;  
10 import java.util.UUID; 8 import java.util.UUID;
11 import java.util.concurrent.ConcurrentHashMap; 9 import java.util.concurrent.ConcurrentHashMap;
12 import java.util.logging.Logger; 10 import java.util.logging.Logger;
13 import javax.enterprise.context.Dependent; 11 import javax.enterprise.context.Dependent;
14 -import javax.enterprise.context.RequestScoped;  
15 import javax.inject.Inject; 12 import javax.inject.Inject;
16 import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal; 13 import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal;
17 import org.demoiselle.jee.core.interfaces.security.Token; 14 import org.demoiselle.jee.core.interfaces.security.Token;
demoiselle-security/src/main/java/org/demoiselle/jee/security/impl/DemoisellePrincipalImpl.java
@@ -9,6 +9,7 @@ package org.demoiselle.jee.security.impl; @@ -9,6 +9,7 @@ package org.demoiselle.jee.security.impl;
9 import java.util.List; 9 import java.util.List;
10 import java.util.Map; 10 import java.util.Map;
11 import java.util.Objects; 11 import java.util.Objects;
  12 +import javax.enterprise.context.Dependent;
12 import javax.enterprise.context.RequestScoped; 13 import javax.enterprise.context.RequestScoped;
13 import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal; 14 import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal;
14 15
demoiselle-security/src/main/java/org/demoiselle/jee/security/impl/SecurityContextImpl.java
@@ -7,14 +7,12 @@ @@ -7,14 +7,12 @@
7 package org.demoiselle.jee.security.impl; 7 package org.demoiselle.jee.security.impl;
8 8
9 import javax.enterprise.context.Dependent; 9 import javax.enterprise.context.Dependent;
  10 +import javax.enterprise.context.RequestScoped;
10 import javax.inject.Inject; 11 import javax.inject.Inject;
11 -import javax.ws.rs.core.Response;  
12 import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal; 12 import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal;
13 13
14 import org.demoiselle.jee.core.interfaces.security.SecurityContext; 14 import org.demoiselle.jee.core.interfaces.security.SecurityContext;
15 import org.demoiselle.jee.core.interfaces.security.TokensManager; 15 import org.demoiselle.jee.core.interfaces.security.TokensManager;
16 -import org.demoiselle.jee.security.exception.DemoiselleSecurityException;  
17 -import org.demoiselle.jee.security.message.DemoiselleSecurityMessages;  
18 16
19 /** 17 /**
20 * <p> 18 * <p>
@@ -23,7 +21,7 @@ import org.demoiselle.jee.security.message.DemoiselleSecurityMessages; @@ -23,7 +21,7 @@ import org.demoiselle.jee.security.message.DemoiselleSecurityMessages;
23 * 21 *
24 * @author SERPRO 22 * @author SERPRO
25 */ 23 */
26 -@Dependent 24 +@RequestScoped
27 public class SecurityContextImpl implements SecurityContext { 25 public class SecurityContextImpl implements SecurityContext {
28 26
29 private static final long serialVersionUID = 1L; 27 private static final long serialVersionUID = 1L;
@@ -63,7 +61,7 @@ public class SecurityContextImpl implements SecurityContext { @@ -63,7 +61,7 @@ public class SecurityContextImpl implements SecurityContext {
63 */ 61 */
64 @Override 62 @Override
65 public boolean isLoggedIn() { 63 public boolean isLoggedIn() {
66 - return getUser() != null; 64 + return getUser() != null && getUser().getId() != null;
67 } 65 }
68 66
69 @Override 67 @Override