33 lines
727 B
Go
33 lines
727 B
Go
// Copyright (C) 2021 Marius Schellenberger
|
|
|
|
package db
|
|
|
|
import "git.giftfish.de/ston1th/jwt/v3"
|
|
|
|
const blacklistPrefix = "blacklist/"
|
|
|
|
func (db *DB) Add(sig string, exp int64) error {
|
|
return db.store.Set(blacklistPrefix+sig, exp)
|
|
}
|
|
|
|
func (db *DB) Remove(sig string) error {
|
|
return db.store.Delete(blacklistPrefix + sig)
|
|
}
|
|
|
|
func (db *DB) Check(sig string) (ok bool) {
|
|
return db.store.Get(blacklistPrefix+sig, nil) == nil
|
|
}
|
|
|
|
func (db *DB) Map() (list jwt.BlacklistMap, err error) {
|
|
list = make(jwt.BlacklistMap)
|
|
err = db.store.ForEachPrefix(blacklistPrefix, func(k string, v []byte) error {
|
|
var exp int64
|
|
err := db.store.Unmarshal(v, &exp)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
list[k] = exp
|
|
return nil
|
|
})
|
|
return
|
|
}
|