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)
|
||
|
}
|
||
|
)
|