Я создаю для нашего веб-приложения систему токенов. Как вы думаете, ребята, безопасен ли этот метод 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, например, что, если я дам еще один токен String. Это может быть неправильно, но мой список не пустой, поэтому я могу вернуть истину.
Как выглядит запрос validateToken.
О какой безопасности вы здесь говорите, связанной с внедрением sql в запрос или аутентификацией на основе вашего токена?
@Kayaman @NamedQuery(name = "validateToken", query = "select t from WebToken t where t.token = :token and t.expireDate > current_timestamp() ")
@sCom меня беспокоит аутентификация на основе моего токена
В вашем коде нет понятия токена неправильный. Есть просто токены, которые либо действительны (или доступны), либо нет.




Насколько я понял, если у вас есть проблемы с аутентификацией, вам просто нужно проверить следующие шаги:
о какой безопасности вы говорите?