mirror of
https://github.com/xslasd/x-oidc.git
synced 2025-10-27 09:50:20 +08:00
35 lines
1.6 KiB
Go
35 lines
1.6 KiB
Go
package storage
|
|
|
|
import (
|
|
"context"
|
|
"github.com/xslasd/x-oidc/log"
|
|
"github.com/xslasd/x-oidc/model"
|
|
)
|
|
|
|
type IStorage interface {
|
|
SetLogger(logger log.Logger)
|
|
GetClientByClientID(ctx context.Context, clientID string) (IClient, error)
|
|
|
|
SaveAuthRequest(ctx context.Context, authReq AuthRequest) error
|
|
|
|
AuthRequestBindCallbackData(ctx context.Context, requestID, userID string) (*AuthRequest, error)
|
|
AuthRequestByCode(ctx context.Context, code string) (*AuthRequest, error)
|
|
AuthRequestByRequestID(ctx context.Context, requestID string) (*AuthRequest, error)
|
|
|
|
AuthRequestByRefreshToken(ctx context.Context, refreshToken string) (*TokenModel, *AuthRequest, error)
|
|
AuthRequestByTokenID(ctx context.Context, tokenID string) (*TokenModel, *AuthRequest, error)
|
|
|
|
AuthRequestByJWTClientToken(ctx context.Context, client IClient, token model.JWTClientTokenClaims) (*AuthRequest, error)
|
|
|
|
SaveAuthRequestCode(ctx context.Context, requestID, code string) error
|
|
SaveTokenModel(ctx context.Context, tokenModel TokenModel) error
|
|
UpdateTokenModelByRefreshToken(ctx context.Context, tokenModel TokenModel) error
|
|
|
|
SetUserinfoFromScopes(ctx context.Context, authReq AuthRequest, client IClient, scopes []string) (*model.UserInfo, error)
|
|
SetIntrospectUserinfo(ctx context.Context, authReq AuthRequest, accessTokenClaims model.AccessTokenClaims) (*model.UserInfo, error)
|
|
SetUserinfo(ctx context.Context, authReq AuthRequest, accessTokenClaims model.AccessTokenClaims, origin string) (*model.UserInfo, error)
|
|
|
|
RevokeRefreshToken(ctx context.Context, refreshToken string) error
|
|
RevokeAccessToken(ctx context.Context, accessTokenClaims model.AccessTokenClaims) error
|
|
}
|