...
1
21
22 package oauth2
23
24 import (
25 "context"
26
27 "github.com/ory/fosite"
28 )
29
30 type CoreStrategy interface {
31 AccessTokenStrategy
32 RefreshTokenStrategy
33 AuthorizeCodeStrategy
34 }
35
36 type AccessTokenStrategy interface {
37 AccessTokenSignature(token string) string
38 GenerateAccessToken(ctx context.Context, requester fosite.Requester) (token string, signature string, err error)
39 ValidateAccessToken(ctx context.Context, requester fosite.Requester, token string) (err error)
40 }
41
42 type RefreshTokenStrategy interface {
43 RefreshTokenSignature(token string) string
44 GenerateRefreshToken(ctx context.Context, requester fosite.Requester) (token string, signature string, err error)
45 ValidateRefreshToken(ctx context.Context, requester fosite.Requester, token string) (err error)
46 }
47
48 type AuthorizeCodeStrategy interface {
49 AuthorizeCodeSignature(token string) string
50 GenerateAuthorizeCode(ctx context.Context, requester fosite.Requester) (token string, signature string, err error)
51 ValidateAuthorizeCode(ctx context.Context, requester fosite.Requester, token string) (err error)
52 }
53
View as plain text