package com.airlock.iam.oauth2.domain.model.token;

import com.airlock.iam.core.misc.util.password.hash.PasswordHash;
import org.apache.commons.codec.binary.Base64;

public final class RawOAuth2TokenWithHash {
   private final RawOAuth2Token token;
   private final String hash;

   public RawOAuth2TokenWithHash(RawOAuth2Token token, PasswordHash passwordHash) {
      this.token = token;
      this.hash = Base64.encodeBase64String(passwordHash.getPasswordHash(token.getSecretTokenString()));
   }

   public String getHash() {
      return this.hash;
   }

   public OAuth2TokenKey getTokenKey() {
      return this.token.getTokenKey();
   }

   public String toTokenString() {
      return this.token.toTokenString();
   }
}
