Skip to content

10. JWT로 로그인 보완에서 컴파일 에러가 납니다.  #64

@greenyeast

Description

@greenyeast

vue3/gallery/backend 코드중..
10강 JWT 적용중 다음 코드에서 에러가 발생합니다.
`
@service("jwtService")
public class JwtServiceImpl implements JwtService{

private String secretKey = "sjdkfskdjfkslj@!awo@!@ieur3453klskdfjlskdfjklsdjhal2wds9d@f08dsf";
@Override
public String getToken(String key, Object value) {

    Date expTime = new Date();
    expTime.setTime(expTime.getTime() + 1000 * 60 * 5);

     // DatatypeConverter를 찾을 수 없다는 오류가 발생합니다.
    byte[] secretByteKey = DatatypeConverter.parseBase64Binary(secretKey);

    Key signKey = new SecretKeySpec(secretByteKey, HS256.getJcaName());

    Map<String, Object> headerMap = new HashMap<>();
    headerMap.put("typ", "JWT");
    headerMap.put("alg", "HS256");

    Map<String, Object> map = new HashMap<>();
    map.put(key, value);

    JwtBuilder builder = Jwts.builder().setHeader(headerMap)
            .setClaims(map)
            .setExpiration(expTime)
            .signWith(signKey, HS256);

    return builder.compact();
}

}
`

오류에 대해 직접적인 변환대신 바이트로 직접 획득하는 방식으로
byte[] secretByteKey = secretKey.getBytes();
해보았으나 실패하였습니다.. 어떻게 해결할 수 있을까요?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions