Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Default
- @Dependent
- @Stateless
- public class AuthenticationService implements IAuthenticater
- {
- private Map<String,String> db;
- @Inject KeyGenerator keygen;
- public AuthenticationService()
- {
- db = new HashMap<>();
- addToDb("aardbei", "framboos");
- addToDb("Stroezzuz", "ufo");
- addToDb("Kruet'okx","ofu");
- }
- @Override
- public boolean isAuthenticated(String name, String password)
- {
- name = name.toUpperCase();
- password = password.toUpperCase();
- return (db.get(name)!=null && db.get(name).equals(password));
- }
- private void addToDb(String user, String pass)
- {
- user = user.toUpperCase();
- pass = pass.toUpperCase();
- db.put(user,pass);
- }
- @Override
- public String issueToken(String login, UriInfo uriInfo)
- {
- Key key = keygen.generateKey();
- String jwtToken = Jwts.builder()
- .setSubject(login)
- .setIssuer(uriInfo.getAbsolutePath().toString())
- .setIssuedAt(new Date())
- .setExpiration(toDate(LocalDateTime.now().plusMinutes(15L)))
- .signWith(SignatureAlgorithm.HS512, key)
- .compact();
- return jwtToken;
- }
- @Override
- public Key generateKey()
- {
- return keygen.generateKey();
- }
- private Date toDate(LocalDateTime localDateTime) {
- return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement