37 lines
1.2 KiB
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)
|
|
}
|
|
)
|