...

Package pkce

import "github.com/ory/fosite/handler/pkce"
Overview
Index

Overview ▾

type Handler

type Handler struct {
    // If set to true, clients must use PKCE.
    Force bool

    // If set to true, public clients must use PKCE.
    ForceForPublicClients bool

    // Whether or not to allow the plain challenge method (S256 should be used whenever possible, plain is really discouraged).
    EnablePlainChallengeMethod bool

    AuthorizeCodeStrategy oauth2.AuthorizeCodeStrategy
    Storage               PKCERequestStorage
}

func (*Handler) CanHandleTokenEndpointRequest

func (c *Handler) CanHandleTokenEndpointRequest(requester fosite.AccessRequester) bool

func (*Handler) CanSkipClientAuth

func (c *Handler) CanSkipClientAuth(requester fosite.AccessRequester) bool

func (*Handler) HandleAuthorizeEndpointRequest

func (c *Handler) HandleAuthorizeEndpointRequest(ctx context.Context, ar fosite.AuthorizeRequester, resp fosite.AuthorizeResponder) error

func (*Handler) HandleTokenEndpointRequest

func (c *Handler) HandleTokenEndpointRequest(ctx context.Context, request fosite.AccessRequester) error

func (*Handler) PopulateTokenEndpointResponse

func (c *Handler) PopulateTokenEndpointResponse(ctx context.Context, requester fosite.AccessRequester, responder fosite.AccessResponder) error

type PKCERequestStorage

type PKCERequestStorage interface {
    GetPKCERequestSession(ctx context.Context, signature string, session fosite.Session) (fosite.Requester, error)
    CreatePKCERequestSession(ctx context.Context, signature string, requester fosite.Requester) error
    DeletePKCERequestSession(ctx context.Context, signature string) error
}