#How to manually set a remember me token in spring boot

1 messages · Page 1 of 1 (latest)

delicate marlin
#

During login with user name and password spring automatically sets the remember me token , but my application also allows for login using google oauth . After verifiying the user I need to set a remember me token , how can I do that ? I am using a custom service

@Service
public class RememberMeService implements PersistentTokenRepository 
{
    @Autowired
    private RememberMeRepository repository;
    
    
    

    @Override
    public void createNewToken(PersistentRememberMeToken token) 
    {
        
//        System.out.println(token.getSeries() + " " + token.getTokenValue() + " " + token.getUsername());
        
        Remember entity = new Remember();
        entity.setSeries(token.getSeries());
        entity.setToken(token.getTokenValue());
        entity.setDevice("test");
        entity.setEmail(token.getUsername());
        
        repository.save(entity);
    }

    @Override
    public void updateToken(String series, String tokenValue, Date lastUsed) {
        
        
        Remember entity = repository.findById(series).get();
        entity.setToken(tokenValue);
        repository.save(entity);

    }

    @Override
    public PersistentRememberMeToken getTokenForSeries(String seriesId) {
        
        
        
        return repository.findById(seriesId)
                .map(token -> new PersistentRememberMeToken(
                        token.getEmail(),
                        token.getSeries(),
                        token.getToken(),
                        Date.from(token.getLastUsed().toInstant()))
                )
                .orElse(null);
        
        
    }

    @Override
    public void removeUserTokens(String username) {
        
        System.out.println("REMOVE TOKEN CALLED");
        
    }
    
}

How am I supposed to use ot after user verification ?

slow meadowBOT
# delicate marlin During login with user name and password spring automatically sets the remember ...

Detected code, here are some useful tools:

Formatted code
@Service
public class RememberMeService implements PersistentTokenRepository {
  @Autowired
  private RememberMeRepository repository;
  @Override
  public void createNewToken(PersistentRememberMeToken token) {
    //        System.out.println(token.getSeries() + " " + token.getTokenValue() + " " + token.getUsername());
    Remember entity = new Remember();
    entity.setSeries(token.getSeries());
    entity.setToken(token.getTokenValue());
    entity.setDevice("test");
    entity.setEmail(token.getUsername());
    repository.save(entity);
  }
  @Override
  public void updateToken(String series, String tokenValue, Date lastUsed) {
    Remember entity = repository.findById(series).get();
    entity.setToken(tokenValue);
    repository.save(entity);
  }
  @Override
  public PersistentRememberMeToken getTokenForSeries(String seriesId) {
    return repository.findById(seriesId).map(token -> new PersistentRememberMeToken(token.getEmail(), token.getSeries(), token.getToken(), Date.from(token.getLastUsed().toInstant()))).orElse(null );
  }
  @Override
  public void removeUserTokens(String username) {
    System.out.println("REMOVE TOKEN CALLED");
  }
}
#

<@&987246584574140416> please have a look, thanks.