The token refresh is broken, because "accessTokenModel.refresh_token" is still encrypted when using in "self.getAccessToken(refreshToken: ..."
It's only uncoded in "accessTokenModelToAccessTokenEntity"
// getting current seconds
let milliseconds = Date().timeIntervalSince1970
let seconds = Int64(milliseconds)
let accessTokenModel = DBHelper.shared.getAccessToken(key: sub)
let expires = accessTokenModel.expires_in
let secs: Int64 = Int64(accessTokenModel.seconds)
let expires_in = expires + secs - 10
if expires_in > seconds {
if String(seconds).count < 10 {
self.getAccessToken(refreshToken: accessTokenModel.refresh_token, callback: callback)
return
}
EntityToModelConverter.shared.accessTokenModelToAccessTokenEntity(accessTokenModel: accessTokenModel) { (accessTokenEntity) in
// return success callback
let response = LoginResponseEntity()
response.success = true
response.status = 200
response.data = accessTokenEntity
DispatchQueue.main.async {
callback(Result.success(result: response))
}
return
}
}
else {
self.getAccessToken(refreshToken: accessTokenModel.refresh_token, callback: callback)
}
}