【问题标题】:Is my method safe?我的方法安全吗?
【发布时间】:2018-10-27 11:51:47
【问题描述】:

我正在为我们的 Web 应用程序创建一个令牌系统。你们怎么看,如果这 isWebTokenAvailable() 方法安全吗?

/**
     * Checked if webToken is available {@link de.security.WebToken}.
     *
     * @param webToken to check if webToken is available.
     * @return true if webToken is available and if there is no available token then returns false.
     */
    public boolean isWebTokenAvailable(@NonNull String webToken) {
        return !em.createNamedQuery("validateToken").setParameter("token", webToken)
                .getResultList().isEmpty();
    }

【问题讨论】:

  • 你说的是哪种安全?
  • @ShanuGupta 例如,如果我给另一个令牌字符串怎么办。这可能是错误的,但我的列表不是空的,这就是为什么我可以返回 true。
  • validateToken 查询是什么样的。
  • 你这里说的什么安全,和查询中的sql注入或者基于你的token的认证有关?
  • @Kayaman @NamedQuery(name = "validateToken", query = "select t from WebToken t where t.token = :token and t.expireDate > current_timestamp() ")

标签: java security jwt simple-web-token


【解决方案1】:

据我了解,如果您有身份验证问题,您只需要验证以下步骤:

  • 在创建令牌时,您需要在其中设置基本内容
    根据您的应用程序的要求,喜欢 userRole/id。
  • 您需要通过从令牌中提取该信息来验证用户并 使用数据库中的信息对其进行验证。
  • 提供的令牌来自 db 只是您在身份验证后执行的步骤,即 检查过期时间。

【讨论】:

    猜你喜欢
    • 2018-03-09
    • 1970-01-01
    • 2013-11-20
    • 2013-03-31
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多