Skip to content

패키지 함수

New

go
func New(cfg Config) (*Processor, error)

새로운 JWT Processor 를 생성합니다. DefaultConfig()로 기본 설정을 가져와 필요한 필드를 수정한 후 전달합니다.

매개변수

매개변수타입설명
cfgConfig설정 항목

반환값

반환타입설명
processor*ProcessorJWT 프로세서
errerror설정 검증 실패 시 오류 반환

예제

go
package main

import (
    "fmt"

    "github.com/cybergodev/jwt"
)

func main() {
    cfg := jwt.DefaultConfig()
    cfg.SecretKey = "hmac-key-that-has-at-least-32-bytes!"

    processor, err := jwt.New(cfg)
    if err != nil {
        panic(err)
    }
    defer processor.Close()

    fmt.Println("Processor created successfully")
}

오류

오류발생 조건
ErrInvalidConfig설정 항목이 올바르지 않음
ErrInvalidSecretKey키 누락, 32 바이트 미만, 약한 키, 타입 오류 또는 ECDSA 곡선 불일치
ErrInvalidSigningMethod지원하지 않는 서명 알고리즘

DefaultConfig

go
func DefaultConfig() Config

합리적인 기본값이 설정된 설정을 반환합니다.

반환값

반환타입설명
configConfig기본 설정

기본값

필드기본값
AccessTokenTTL15 * time.Minute
RefreshTokenTTL7 * 24 * time.Hour
Issuer"jwt-service"
SigningMethodSigningMethodHS256
RateLimitRate100
RateLimitWindowtime.Minute
BlacklistDefaultBlacklistConfig()

예제

go
cfg := jwt.DefaultConfig()
cfg.SecretKey = "hmac-key-that-has-at-least-32-bytes!"
// 필요에 따라 다른 필드 수정

DefaultBlacklistConfig

go
func DefaultBlacklistConfig() BlacklistConfig

합리적인 기본값이 설정된 블랙리스트 설정을 반환합니다.

반환값

반환타입설명
configBlacklistConfig기본 블랙리스트 설정

기본값

필드기본값
CleanupInterval5 * time.Minute
MaxSize100000
EnableAutoCleanuptrue

NewNumericDate

go
func NewNumericDate(t time.Time) NumericDate

time.Time에서 NumericDate를 생성합니다.

매개변수

매개변수타입설명
ttime.Time시간 값

반환값

반환타입설명
dateNumericDateJWT 숫자 날짜

NewRateLimiter

go
func NewRateLimiter(maxRate int, window time.Duration) *RateLimiter

토큰 버킷 속도 제한기를 생성합니다.

매개변수

매개변수타입설명
maxRateint윈도우당 최대 요청 수 (≤0 이면 기본값 100)
windowtime.Duration시간 윈도우 (≤0 이면 기본값 1 분)

반환값

반환타입설명
limiter*RateLimiter속도 제한기 인스턴스