Class ServiceUtilities

java.lang.Object
es.kukenan.smartfi.microservice.clients.service.ServiceUtilities

@Component public class ServiceUtilities extends Object
Services utilities for login methods.
  • Field Details

    • ZONE_UTC

      protected static final ZoneId ZONE_UTC
      Universal Time Coordinated ZoneId value.
    • userDeviceRepository

      @Autowired private UserDeviceRepository userDeviceRepository
      Repository for users devices..
    • rootedControlRepository

      @Autowired private RootedControlRepository rootedControlRepository
      Repository for rooted control operations.
    • userRepository

      @Autowired public UserRepository userRepository
      User repository.
    • deviceLoginHistoricRepository

      @Autowired public DeviceLoginHistoricRepository deviceLoginHistoricRepository
      DeviceLoginHistoric repository.
    • expiredScaDays

      @Value("${expired.sca.days}") private int expiredScaDays
      Expired days for check SCA.
  • Constructor Details

    • ServiceUtilities

      public ServiceUtilities()
  • Method Details

    • generateJwt

      public es.kukenan.smartfi.common.service.jwt.JwtBearerToken generateJwt(User user, es.kukenan.smartfi.common.service.jwt.enums.SecurityLevelEnum securityLevelEnum, es.kukenan.smartfi.common.service.jwt.enums.ChannelEnum channel, String deviceId)
      Generate a JWT Token well signed with data about user found.
      Parameters:
      user - user dao found in database.
      securityLevelEnum - user security level.
      channel - channel which send the request.
      deviceId - unique identifier of the device.
      Returns:
      JwtBearerToken signed with configuration at properties file.
    • updateRemoveCountLoginUser

      public void updateRemoveCountLoginUser(User user, UserRepository userRepository)
      Update count login error when user login successfully.
      Parameters:
      user - entity updated or not with user data
      userRepository - repository for user table.
    • getRequiredOtpValue

      public es.kukenan.smartfi.microservice.clients.dto.LoginResponseDto getRequiredOtpValue(User user, es.kukenan.smartfi.microservice.clients.dto.LoginDto loginDto, es.kukenan.smartfi.microservice.clients.dto.LoginResponseDto loginResponseDto)
      Generated value if otp is required in login process.
      Parameters:
      user - user dta found.
      loginDto - Dto with data request.
      loginResponseDto - Generated response at login process.
      Returns:
      Login response with sca last access date checked.
    • checkScaAccessDateForDeviceIsExpired

      private boolean checkScaAccessDateForDeviceIsExpired(Timestamp scaAccessDate)
      Checked if user needs SCA OTP.
      Parameters:
      scaAccessDate - last sca date checked for user.
      Returns:
      boolean.
    • checkTemporaryLocks

      public User checkTemporaryLocks(User user, boolean checkPassword, AccessManagementService accessManagementService)
      Check access management for user.
      Parameters:
      user - User data found.
      checkPassword - flag that indicates if the password was correct.
      accessManagementService - Service for access management.
      Returns:
      User data.
    • getAllRootedControlForDeviceId

      public List<RootedDeviceControl> getAllRootedControlForDeviceId(String deviceId, List<String> rootedControls)
      Gets list of rootedDevicecontrol from list of rooted controls.
      Parameters:
      deviceId - device unique identificator for rooted controls.
      rootedControls - List with rootedcontrols.
      Returns:
      List RootedDeviceControl for a specific device id.
    • existRootedControlInDefinition

      public List<String> existRootedControlInDefinition(List<String> rootedControls)
      Return rooted controls defined in application.
      Parameters:
      rootedControls - List with rooted controls.
      Returns:
      List with rooted controls checked
    • checkRootedControlsPresentsInDefinition

      private List<String> checkRootedControlsPresentsInDefinition(List<String> rootedControls, List<String> definedRootedControls)
      Create a list with rooted controls presents in defined application rooted controls. Rooted controls not defined in app are showed in log.
      Parameters:
      rootedControls - rooted control present in request.
      definedRootedControls - rooted controls defines on application.
      Returns:
      List with rooted controls present in request and defined un application.
    • saveUserHistoric

      public void saveUserHistoric(es.kukenan.smartfi.microservice.clients.dto.LoginRequestDto loginRequest, String userId, String status)
      Save device login historic in BBDD.
      Parameters:
      loginRequest - request with data.
      userId - unique identificator for user.
      status - status of login.