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

37 lines
1.2 KiB
Go

package oauth2
import "context"
type (
// ClientStore the client information storage interface
ClientStore interface {
GetByID(ctx context.Context, id string) (ClientInfo, error)
Set(ctx context.Context, id string, cli ClientInfo) error
Delete(ctx context.Context, id string) error
}
// TokenStore the token information storage interface
TokenStore interface {
// create and store the new token information
Create(ctx context.Context, info TokenInfo) error
// delete the authorization code
RemoveByCode(ctx context.Context, code string) error
// use the access token to delete the token information
RemoveByAccess(ctx context.Context, access string) error
// use the refresh token to delete the token information
RemoveByRefresh(ctx context.Context, refresh string) error
// use the authorization code for token information data
GetByCode(ctx context.Context, code string) (TokenInfo, error)
// use the access token for token information data
GetByAccess(ctx context.Context, access string) (TokenInfo, error)
// use the refresh token for token information data
GetByRefresh(ctx context.Context, refresh string) (TokenInfo, error)
}
)