【问题标题】:Generate a token every day inside a service每天在服务中生成一个令牌
【发布时间】:2020-05-17 17:55:13
【问题描述】:

我必须创建一个端点,它收集信息然后插入到 BBDD。问题是要访问此信息,令牌必须始终添加到查询参数中,并且每 20 小时过期一次。

要获得令牌,首先我必须像这样调用它

https://url/token.php?username=...&password=...

我会收到这样的回复

{"success":true,"token":"aaaa","expire":1589780649}

收集信息的端点示例是

https://url/information.php?token=aaaa&fields=a,b

我不得不说我是 java spring(以及一般的 java)的新手。有没有办法创建一个微服务,在收集信息之前,每 20 小时获取一次令牌?

【问题讨论】:

    标签: java spring spring-boot token


    【解决方案1】:

    如果您将令牌保存在数据库中,那么您可以在任何请求后检查令牌过期

    例如:

    if (token.getExpire > 20 hours) { 
        Token token = tokenRepository.findByToken(token);
        if (token != null) {
            generateNewToken();
            remove and save new token or change old token in DB
        }
    }
    

    【讨论】:

    • 不,它永远不会存储在数据库中。该服务每天只打一个电话,收集信息并将其存储在数据库中。它必须在服务的逻辑中使用。
    • 那么你需要刷新令牌或者如果令牌到期则返回新令牌作为响应
    • 你说例如在控制器内部?想象一个端点名称getInformation,我应该每次都调用token服务吗?
    • 我想你也可以这样做,1)做请求 2)如果返回令牌过期 3)然后刷新令牌 4)重复第一个请求
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2018-10-01
    • 2018-11-09
    相关资源
    最近更新 更多