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レートリミッターインスタンス