@@ -0,0 +1,1144 @@
+package net.davidvoid.thor.lightning.service.security;%0D%0A%0D%0Aimport java.util.ArrayList;%0D%0Aimport java.util.List;%0D%0A%0D%0Aimport org.springframework.security.authentication.AbstractAuthenticationToken;%0D%0Aimport org.springframework.security.core.GrantedAuthority;%0D%0Aimport org.springframework.security.core.authority.SimpleGrantedAuthority;%0D%0A%0D%0Apublic class ThorAuthentication extends AbstractAuthenticationToken %7B%0D%0A%0D%0A    private static final long serialVersionUID = -5044029477635986803L;%0D%0A%0D%0A    private String username = null;%0D%0A    private long id = -1;%0D%0A%0D%0A    public ThorAuthentication(String username, long id) %7B%0D%0A        super(defaultRoles());%0D%0A        this.username = username;%0D%0A        this.id = id;%0D%0A    %7D%0D%0A%0D%0A    private static List%3CGrantedAuthority%3E defaultRoles() %7B%0D%0A        List%3CGrantedAuthority%3E roles = new ArrayList%3C%3E();%0D%0A        roles.add(new SimpleGrantedAuthority(%22USER%22));%0D%0A        return roles;%0D%0A    %7D%0D%0A%0D%0A    @Override%0D%0A    public Object getCredentials() %7B%0D%0A        return null;%0D%0A    %7D%0D%0A%0D%0A    @Override%0D%0A    public Object getPrincipal() %7B%0D%0A        return username;%0D%0A    %7D%0D%0A    %0D%0A    public long getId() %7B%0D%0A        return id;%0D%0A    %7D%0D%0A%0D%0A%7D%0D%0A

add a new authentication object