24 lines
575 B
Go
24 lines
575 B
Go
package auth
|
|
|
|
import (
|
|
"code.mrmelon54.com/melon/summer/pkg/claims"
|
|
"github.com/mrmelon54/mjwt"
|
|
"time"
|
|
)
|
|
|
|
type AccessTokenClaims struct {
|
|
UserId uint64 `json:"uid"`
|
|
Perms *claims.PermStorage `json:"per"`
|
|
}
|
|
|
|
func (a AccessTokenClaims) Valid() error { return nil }
|
|
|
|
func (a AccessTokenClaims) Type() string { return "access-token" }
|
|
|
|
func CreateAccessToken(p mjwt.Provider, sub, id string, userId uint64, perms *claims.PermStorage) (string, error) {
|
|
return p.GenerateJwt(sub, id, time.Minute*15, &AccessTokenClaims{
|
|
UserId: userId,
|
|
Perms: perms,
|
|
})
|
|
}
|