>  기사  >  백엔드 개발  >  JWT 토큰의 만료일을 어떻게 얻나요?

JWT 토큰의 만료일을 어떻게 얻나요?

PHPz
PHPz앞으로
2024-02-14 12:20:09899검색

如何从 go 中的 jwt 令牌获取过期日期?

Go 언어에서 JWT 토큰은 일반적인 인증 메커니즘입니다. JWT 토큰에서 만료 날짜를 얻으려면 타사 라이브러리 "github.com/dgrijalva/jwt-go"를 사용하여 토큰의 페이로드를 구문 분석할 수 있습니다. 먼저 토큰 문자열을 jwt.Token 객체로 구문 분석한 다음 Token.Claims["exp"] 필드에 액세스하여 만료 날짜를 얻을 수 있습니다. 이 필드의 값은 Unix 타임스탬프이며 time.Unix 함수를 사용하여 시간 유형으로 변환될 수 있습니다. 이런 방식으로 JWT 토큰의 만료 날짜를 쉽게 얻을 수 있습니다.

질문 내용

저는 jwt 토큰을 가지고 있고 https://jwt.io/웹사이트에서 디코딩된 토큰을 볼 수 있습니다. 비밀이나 주장을 설정할 필요가 없습니다. 그래서 나는 비밀을 제공하지 않고 만료 날짜를 얻기 위해 토큰을 디코딩하는 방법을 찾고 있습니다.

나는 라이브러리를 사용하고 있으며 ngopkg.in/square/go-jose.v2/jwt 아래는 내 코드입니다:

으아아아

반환 값 token 키 ID, 알고리즘을 포함하는 헤더 필드가 있지만 만료 날짜를 제공하지 않습니다.

이 주제를 검색했는데 사람들이 github.com/auth0/go-jwt-middleware/v2/validator 库,但它需要设置密钥/秘密。解析令牌的过期日期是否需要秘密。 网站https://jwt.io/유통기한을 어떻게 알 수 있나요?

해결 방법

jwt.io의 예제 jwt 토큰을 사용하면 이 코드는 확인된 서명 없이 청구를 구문 분석하고 검색합니다.

으아아아

이 예에서 만료 시간은 claims 映射中的字段之一。要检索它,请使用 exp, ok := claims["expire"](정확한 이름에 따라 다름)으로 표시되어야 합니다.

위 내용은 JWT 토큰의 만료일을 어떻게 얻나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제