GoToSocial/vendor/github.com/superseriousbusiness/oauth2/v4/generate.go

29 lines
650 B
Go

package oauth2
import (
"context"
"net/http"
"time"
)
type (
// GenerateBasic provide the basis of the generated token data
GenerateBasic struct {
Client ClientInfo
UserID string
CreateAt time.Time
TokenInfo TokenInfo
Request *http.Request
}
// AuthorizeGenerate generate the authorization code interface
AuthorizeGenerate interface {
Token(ctx context.Context, data *GenerateBasic) (code string, err error)
}
// AccessGenerate generate the access and refresh tokens interface
AccessGenerate interface {
Token(ctx context.Context, data *GenerateBasic, isGenRefresh bool) (access, refresh string, err error)
}
)