This repository has been archived on 2024-04-07. You can view files and clone it, but cannot push or open issues or pull requests.
summer-utils/claims/flow/oauth.go
2023-04-16 11:56:17 +01:00

24 lines
583 B
Go

package flow
import (
"code.mrmelon54.com/melon/summer/pkg/claims"
"github.com/mrmelon54/mjwt"
"time"
)
type OAuthFlowClaims struct {
LoginId uint64 `json:"lid"`
Scopes *claims.PermStorage `json:"sco"`
}
func (o OAuthFlowClaims) Valid() error { return nil }
func (o OAuthFlowClaims) Type() string { return "oauth-flow" }
func CreateOAuthFlowToken(p mjwt.Provider, sub, id string, loginId uint64, scopes *claims.PermStorage, dur time.Duration) (string, error) {
return p.GenerateJwt(sub, id, dur, OAuthFlowClaims{
LoginId: loginId,
Scopes: scopes,
})
}