Search in sources :

Example 1 with TOKEN

use of io.gravitee.repository.management.model.Audit.AuditProperties.TOKEN in project gravitee-management-rest-api by gravitee-io.

the class TokenServiceImpl method findByToken.

@Override
public Token findByToken(String token) {
    try {
        LOGGER.debug("Find token entity by token value");
        final Optional<Token> optionalToken = tokenRepository.findAll().stream().filter(t -> passwordEncoder.matches(token, t.getToken())).findAny();
        if (optionalToken.isPresent()) {
            final Token t = optionalToken.get();
            t.setLastUseAt(new Date());
            return tokenRepository.update(t);
        }
        throw new IllegalStateException("Token not found");
    } catch (TechnicalException ex) {
        final String error = "An error occurs while trying to find token entity for a given token value";
        LOGGER.error(error, ex);
        throw new TechnicalManagementException(error, ex);
    }
}
Also used : TokenService(io.gravitee.rest.api.service.TokenService) java.util(java.util) Logger(org.slf4j.Logger) BCryptPasswordEncoder(org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder) TokenEntity(io.gravitee.rest.api.model.TokenEntity) TechnicalException(io.gravitee.repository.exceptions.TechnicalException) LoggerFactory(org.slf4j.LoggerFactory) Autowired(org.springframework.beans.factory.annotation.Autowired) TokenReferenceType(io.gravitee.rest.api.model.TokenReferenceType) AuditService(io.gravitee.rest.api.service.AuditService) TOKEN(io.gravitee.repository.management.model.Audit.AuditProperties.TOKEN) NewTokenEntity(io.gravitee.rest.api.model.NewTokenEntity) TokenNameAlreadyExistsException(io.gravitee.rest.api.service.exceptions.TokenNameAlreadyExistsException) Collectors.toList(java.util.stream.Collectors.toList) Component(org.springframework.stereotype.Component) TechnicalManagementException(io.gravitee.rest.api.service.exceptions.TechnicalManagementException) PasswordEncoder(org.springframework.security.crypto.password.PasswordEncoder) UUID(io.gravitee.common.utils.UUID) Token(io.gravitee.repository.management.model.Token) AuditEvent(io.gravitee.repository.management.model.Token.AuditEvent) TokenRepository(io.gravitee.repository.management.api.TokenRepository) TechnicalException(io.gravitee.repository.exceptions.TechnicalException) Token(io.gravitee.repository.management.model.Token) TechnicalManagementException(io.gravitee.rest.api.service.exceptions.TechnicalManagementException)

Aggregations

UUID (io.gravitee.common.utils.UUID)1 TechnicalException (io.gravitee.repository.exceptions.TechnicalException)1 TokenRepository (io.gravitee.repository.management.api.TokenRepository)1 TOKEN (io.gravitee.repository.management.model.Audit.AuditProperties.TOKEN)1 Token (io.gravitee.repository.management.model.Token)1 AuditEvent (io.gravitee.repository.management.model.Token.AuditEvent)1 NewTokenEntity (io.gravitee.rest.api.model.NewTokenEntity)1 TokenEntity (io.gravitee.rest.api.model.TokenEntity)1 TokenReferenceType (io.gravitee.rest.api.model.TokenReferenceType)1 AuditService (io.gravitee.rest.api.service.AuditService)1 TokenService (io.gravitee.rest.api.service.TokenService)1 TechnicalManagementException (io.gravitee.rest.api.service.exceptions.TechnicalManagementException)1 TokenNameAlreadyExistsException (io.gravitee.rest.api.service.exceptions.TokenNameAlreadyExistsException)1 java.util (java.util)1 Collectors.toList (java.util.stream.Collectors.toList)1 Logger (org.slf4j.Logger)1 LoggerFactory (org.slf4j.LoggerFactory)1 Autowired (org.springframework.beans.factory.annotation.Autowired)1 BCryptPasswordEncoder (org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder)1 PasswordEncoder (org.springframework.security.crypto.password.PasswordEncoder)1