summaryrefslogtreecommitdiff
path: root/clams-server/src/main/java/no/eliashaugsbakk/clams/server/service/AuthService.java
blob: cb7a9ffe293fc5f92030af8c425036a240710323 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package no.eliashaugsbakk.clams.server.service;

import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import no.eliashaugsbakk.clams.server.config.AppConfig;

public class AuthService {
  private final String tokenHash;

  public AuthService(AppConfig appConfig) {
    this.tokenHash = appConfig.getAuthToken();
  }

  public boolean isValid(String incomingToken) {
    if (incomingToken == null || incomingToken.isBlank()) {
      return false;
    }

    try {
      return MessageDigest.isEqual(
          tokenHash.getBytes(StandardCharsets.UTF_8),
          incomingToken.getBytes(StandardCharsets.UTF_8));
    } catch (IllegalArgumentException e) {
      return false;
    }
  }
}