Versions in this module Expand all Collapse all v0 v0.2.0 Oct 9, 2026 Changes in this version + const AccessModeAgentToken + const AccessModeAuthToken + const AccessModePersonToken + const AccessModeSessionToken + const ActionClarificationResponse + const ActionUpdatedRequest + const AlgES256 + const AlgEd25519 + const BootstrapDraft + const ContentDigestAlg + const DefaultJWKSMaxAge + const DefaultJWKSMaxEntries + const DefaultJWKSMinRefresh + const DefaultJWKSTTL + const DefaultRefreshMargin + const DefaultSignatureLabel + const DefaultSignatureWindow + const ErrCodeInteractionUnavailable + const ErrCodeInvalidRequest + const ErrCodeMissionNotFound + const ErrCodeRateLimited + const ErrCodeServerError + const ErrCodeUnsupportedIss + const HeaderAAuthAccess + const HeaderAcceptSignatureAlg + const HeaderAcceptSignatureScheme + const HeaderLocation + const HeaderPrefer + const HeaderRequirement + const HeaderRetryAfter + const HeaderSignature + const HeaderSignatureError + const HeaderSignatureInput + const HeaderSignatureKey + const InteractionTypeInteraction + const InteractionTypePayment + const InteractionTypeQuestion + const LinkRelResource + const MaxAgentLocalPartLength + const MaxAgentTokenLifetime + const MaxAgentTokenTTLSeconds + const MaxAuthTokenLifetime + const MaxPersonTokenLifetime + const MaxResourceTokenLifetime + const MaxSignedStreamBytes + const MissionActionCompletion + const MissionActionUpdate + const MissionErrTerminated + const MissionStatusActive + const MissionStatusTerminated + const ParamPresentedToken + const ParamResourceToken + const ParamSubagentToken + const ParamUpstreamToken + const PermissionDenied + const PermissionGranted + const PollErrAbandoned + const PollErrDenied + const PollErrExpired + const PollErrInvalidCode + const PollErrRevoked + const PollErrSlowDown + const ProtocolDraft + const RequirementAgentToken + const RequirementApproval + const RequirementAuthToken + const RequirementClaims + const RequirementClarification + const RequirementInteraction + const RequirementPersonToken + const RevocationUnavailable + const RevocationUnsupported + const SchemeJWKSURI + const SchemeJWT + const SigErrCacheMiss + const SigErrClockSkew + const SigErrExpiredJWT + const SigErrInvalidInput + const SigErrInvalidJWT + const SigErrInvalidKey + const SigErrInvalidRequest + const SigErrInvalidSignature + const SigErrIssuerMismatch + const SigErrIssuerMissing + const SigErrRevokedJWT + const SigErrUnknownKey + const SigErrUnsupportedAlgorithm + const SigErrUnsupportedScheme + const SignatureKeyDraft + const TerminationAdministrative + const TerminationCompleted + const TerminationExpired + const TerminationRevoked + const TerminationSuperseded + const TokenErrASUnreachable + const TokenErrClockSkew + const TokenErrExpiredPresentedToken + const TokenErrExpiredResourceToken + const TokenErrExpiredSubagentToken + const TokenErrExpiredUpstreamToken + const TokenErrInvalidPresentedToken + const TokenErrInvalidRequest + const TokenErrInvalidResourceToken + const TokenErrInvalidSubagentToken + const TokenErrInvalidUpstreamToken + const TokenErrRevokedPresentedToken + const TokenErrRevokedResourceToken + const TokenErrRevokedSubagentToken + const TokenErrRevokedUpstreamToken + const TokenErrServerError + const TokenErrUserUnreachable + const TypAgent + const TypAuth + const TypPerson + const TypResource + const WellKnownAccess + const WellKnownAgent + const WellKnownPerson + const WellKnownResource + var DefaultJWKSCache = &JWKSCache + var ErrBadSigKey = errors.New("aauth: malformed Signature-Key header") + var ErrClockSkew = errors.New("aauth: clock skew") + var ErrDisallowedDestination = errors.New("aauth: discovery destination not allowed") + var ErrExpired = errors.New("aauth: token expired") + var ErrInteractionUnavailable = errors.New("aauth: interaction_unavailable") + var ErrInvalidIdentifier = errors.New("aauth: invalid identifier") + var ErrInvalidKey = errors.New("aauth: invalid key") + var ErrInvalidToken = errors.New("aauth: invalid token") + var ErrIssuerMismatch = errors.New("aauth: metadata issuer mismatch") + var ErrIssuerMissing = errors.New("aauth: metadata issuer missing") + var ErrJWKSCacheFull = errors.New("aauth: JWKS cache is full") + var ErrMetadataIncomplete = errors.New("aauth: metadata document incomplete") + var ErrMissingClaim = errors.New("aauth: required claim missing") + var ErrMissingSigKey = errors.New("aauth: missing Signature-Key header") + var ErrMissionDigest = errors.New("aauth: mission blob does not match its s256") + var ErrPresentedTokenMissing = errors.New("aauth: presented_token is required") + var ErrPresentedTokenRequired = errors.New("aauth: a verified person token or auth token is required") + var ErrRevocationUnavailable = errors.New("aauth: " + RevocationUnavailable) + var ErrRevocationUnsupported = errors.New("aauth: " + RevocationUnsupported) + var ErrRevoked = errors.New("aauth: token revoked") + var ErrSignatureInput = errors.New("aauth: signature does not cover required components") + var ErrSignatureInvalid = errors.New("aauth: signature invalid") + var ErrSubAgentDirect = errors.New("aauth: sub-agent must not request authorization directly") + var ErrUnexpectedToken = errors.New("aauth: unexpected token in response") + var ErrUnknownAction = errors.New("aauth: missing or unrecognized action") + var ErrUnknownKey = errors.New("aauth: unknown key") + var ErrUnsupportedAlgorithm = errors.New("aauth: unsupported algorithm") + var ErrUnsupportedScheme = errors.New("aauth: unsupported Signature-Key scheme") + var ErrWrongTokenType = errors.New("aauth: wrong token type") + var SigningMethodEd25519 jwt.SigningMethod = signingMethodEd25519 + func AcceptSignatureFromResponse(res *http.Response) (schemes, algs []string, err error) + func AcceptedSignatureAlgs() []string + func AcceptedSignatureSchemes() []string + func AlgForPublicKey(pub crypto.PublicKey) (string, error) + func AttachSignatureKey(req *http.Request, token string) + func AttachSignatureKeyJWKSURI(req *http.Request, id, dwk, kid string) + func BoundedExpiry(now time.Time, ttl, max time.Duration, bounds ...time.Time) (time.Time, error) + func ChainInteraction(w http.ResponseWriter, pendingURL, interactionURL, code string) + func ChallengeAgentToken(w http.ResponseWriter) + func ChallengeAuthToken(w http.ResponseWriter, resourceToken string) + func ChallengePersonToken(w http.ResponseWriter) + func DiscoveryClient() *http.Client + func DoDeferred(ctx context.Context, hc *http.Client, req *http.Request, opts DeferredOptions) (*http.Response, error) + func EgressClient() *http.Client + func FetchMetadata(ctx context.Context, hc *http.Client, base, doc string, dst any) error + func FollowDeferred(ctx context.Context, hc *http.Client, reqURL *url.URL, res *http.Response, ...) (*http.Response, error) + func GenerateKey(alg string) (crypto.Signer, error) + func IssueResourceToken(p ResourceTokenParams, presented PresentedToken, key crypto.Signer, kid string) (string, error) + func MintAgentToken(claims AgentClaims, key crypto.Signer, kid string) (string, error) + func MintAuthToken(claims AuthClaims, key crypto.Signer, kid string) (string, error) + func MintPersonToken(claims PersonClaims, key crypto.Signer, kid string) (string, error) + func MintResourceToken(claims ResourceClaims, key crypto.Signer, kid string) (string, error) + func MissionS256(blob []byte) string + func ParseSignatureKey(req *http.Request) (string, error) + func ResourceLinks(h http.Header) []string + func ResourceMetadataLink(resource string) string + func RevocationEndpoint(ctx context.Context, hc *http.Client, issuer, dwk string) (string, error) + func SignRequest(req *http.Request, key crypto.Signer, keyid string) error + func TokenType(token string) (string, error) + func ValidMissionS256(s string) bool + func ValidateServerIdentifier(s string) error + func VerifyMissionS256(blob []byte, s256 string) error + func VerifyRequest(req *http.Request, pub crypto.PublicKey) error + func VerifyRequestWithOptions(req *http.Request, pub crypto.PublicKey, opts RequestVerifyOptions) error + func VerifyResourceToken(ctx context.Context, token string, opts ResourceTokenVerifyOptions) (*ResourceClaims, PresentedToken, error) + func WriteApprovalPending(w http.ResponseWriter, pendingURL string, retryAfter int) + func WriteClarification(w http.ResponseWriter, pendingURL, question string, timeout int, ...) + func WriteMissionTerminated(w http.ResponseWriter, reason string) + func WriteProblem(w http.ResponseWriter, status int, code, detail string) + func WriteSignatureError(w http.ResponseWriter, e SignatureError, detail string) + func WriteSignatureFailure(w http.ResponseWriter, err error) + func WriteTokenError(w http.ResponseWriter, err error) + type AccessServerMetadata struct + AuthTokenEndpoint string + RevocationEndpoint string + func (m AccessServerMetadata) Validate() error + type Agent struct + ID AgentIdentifier + Issuer string + Key crypto.Signer + PS string + TokenTTL time.Duration + func NewAgent(id AgentIdentifier, opts ...AgentOption) (*Agent, error) + func (a *Agent) Alg() (string, error) + func (a *Agent) IssueSubAgentToken(discriminator string, pub crypto.PublicKey) (string, error) + func (a *Agent) JWK() JWK + func (a *Agent) JWKS() JWKS + func (a *Agent) MintToken() (string, error) + func (a *Agent) NewSubAgent(discriminator string, opts ...AgentOption) (*Agent, error) + func (a *Agent) Thumbprint() string + type AgentClaims struct + Cnf Cnf + DWK string + PS string + ParentAgent string + func VerifyAgentToken(ctx context.Context, token string, opts VerifyAgentTokenOptions) (*AgentClaims, error) + func VerifyAndExtractAgent(ctx context.Context, req *http.Request, opts VerifyAgentTokenOptions) (*AgentClaims, error) + func VerifySubagentToken(ctx context.Context, token string, signer *AgentClaims, ...) (*AgentClaims, error) + func (c *AgentClaims) IsSubAgent() bool + type AgentIdentifier struct + Discriminator string + Domain string + Name string + func ParseAgentIdentifier(s string) (AgentIdentifier, error) + func (a AgentIdentifier) IsSubAgent() bool + func (a AgentIdentifier) Parent() (AgentIdentifier, error) + func (a AgentIdentifier) String() string + func (a AgentIdentifier) SubAgent(discriminator string) (AgentIdentifier, error) + type AgentOption func(*Agent) + func WithIssuer(iss string) AgentOption + func WithKey(key crypto.Signer) AgentOption + func WithKeyAlgorithm(alg string) AgentOption + func WithPersonServer(ps string) AgentOption + func WithTokenSource(fn func() (string, error)) AgentOption + func WithTokenTTL(d time.Duration) AgentOption + type AgentProviderMetadata struct + CallbackEndpoint string + EventEndpoint string + LocalhostCallbackAllowed bool + func (m AgentProviderMetadata) Validate() error + type ApprovedMission struct + Blob []byte + Capabilities []string + Mission *Mission + PersonTokens map[string]string + S256 string + type AuditRequest struct + Action string + Description string + MissionS256 string + Parameters map[string]any + Result map[string]any + type AuthClaims struct + Account string + Cnf Cnf + DWK string + MissionS256 string + PS string + Scope string + Tenant string + func IssueAuthToken(p AuthTokenParams, key crypto.Signer, kid string) (string, *AuthClaims, error) + func VerifyAndExtractAuth(ctx context.Context, req *http.Request, resourceURL string, ...) (*AuthClaims, error) + func VerifyAuthToken(ctx context.Context, token, resourceURL string, opts AuthTokenVerifyOptions) (*AuthClaims, error) + func VerifyAuthTokenResponse(ctx context.Context, token string, opts AuthResponseVerifyOptions) (*AuthClaims, error) + func (c *AuthClaims) PersonServer() string + type AuthResponseVerifyOptions struct + Agent *Agent + Presented string + Resource *ResourceClaims + type AuthTokenParams struct + Agent *AgentClaims + DWK string + Issuer string + MissionExpiresAt time.Time + Now time.Time + PS string + Presented PresentedToken + Resource *ResourceClaims + Scope string + Subagent *AgentClaims + TTL time.Duration + UpstreamExpiresAt time.Time + type AuthTokenRequest struct + PresentedToken string + ResourceToken string + SubagentToken string + UpstreamToken string + type AuthTokenResponse struct + AuthToken string + ExpiresIn int64 + type AuthTokenVerifyOptions struct + CheckSubject func(ctx context.Context, iss, sub string) error + type ChainRouter struct + MissionS256 string + PersonServer string + UpstreamExpiresAt time.Time + UpstreamToken string + func RouteDownstream(upstream PresentedToken, rawUpstream string) (ChainRouter, error) + func (r ChainRouter) PSClient(intermediary *Agent) *PSClient + func (r ChainRouter) Transport(intermediary *Agent) (*Transport, error) + type Clarification struct + Options []string + Question string + Timeout int + type ClarificationPost struct + Action string + ClarificationResponse string + Justification string + PresentedToken string + ResourceToken string + func ParseClarificationPost(r *http.Request) (*ClarificationPost, error) + type ClarificationReply struct + Cancel bool + Justification string + PresentedToken string + ResourceToken string + Text string + type Cnf struct + JKT string + JWK *JWK + type DeferredOptions struct + DefaultPollInterval time.Duration + HandleRequirement func(Requirement) error + MaxPolls int + OnClarification func(Clarification) (ClarificationReply, error) + OnRequirement func(Requirement) + PreferWaitSeconds int + Sign func(*http.Request) error + type InteractionRequest struct + Code string + Description string + MaxWait int + MissionS256 string + Question string + Type string + URL string + type InteractionResponse struct + Answer string + type JWK struct + Alg string + Crv string + Kid string + Kty string + Use string + X string + Y string + func NewEd25519JWK(pub ed25519.PublicKey) JWK + func NewJWK(pub crypto.PublicKey) (JWK, error) + func (j JWK) PublicKey() (crypto.PublicKey, error) + func (j JWK) Thumbprint() string + func (j JWK) Validate() error + type JWKS struct + Keys []JWK + type JWKSCache struct + MaxAge time.Duration + MaxEntries int + MinRefresh time.Duration + Now func() time.Time + TTL time.Duration + type JWKSResolver struct + Cache *JWKSCache + HTTPClient *http.Client + func NewJWKSResolver(hc *http.Client) JWKSResolver + func (r JWKSResolver) RefreshKey(ctx context.Context, iss, dwk, kid string, _ *JWK) (crypto.PublicKey, error) + func (r JWKSResolver) ResolveKey(ctx context.Context, iss, dwk, kid string, _ *JWK) (crypto.PublicKey, error) + type KeyRefresher interface + RefreshKey func(ctx context.Context, iss, dwk, kid string, cnf *JWK) (crypto.PublicKey, error) + type KeyResolver interface + ResolveKey func(ctx context.Context, iss, dwk, kid string, cnf *JWK) (crypto.PublicKey, error) + type Limiter interface + Allow func(ctx context.Context, key string) (ok bool, retryAfter time.Duration) + type LimiterFunc func(ctx context.Context, key string) (bool, time.Duration) + func (f LimiterFunc) Allow(ctx context.Context, key string) (bool, time.Duration) + type MissingComponentsError struct + Missing []string + Required []string + func (e *MissingComponentsError) Error() string + func (e *MissingComponentsError) Is(target error) bool + type Mission struct + Agent string + ApprovedAt string + ApprovedResources []string + ApprovedTools []MissionTool + Description string + ExpiresAt string + func (m *Mission) Expiry() (time.Time, error) + type MissionAction struct + Action string + Description string + Summary string + func (a MissionAction) Validate() error + type MissionApproval struct + Capabilities []string + Mission string + PersonTokens map[string]string + S256 string + func NewMissionApproval(blob []byte, capabilities []string, personTokens map[string]string) MissionApproval + func (a *MissionApproval) Decode() (*Mission, []byte, error) + type MissionProposal struct + Description string + Resources []string + Tools []MissionTool + type MissionStatusError struct + Code string + MissionStatus string + TerminationReason string + func (e *MissionStatusError) Error() string + type MissionTool struct + Description string + Name string + type MissionUpdateResponse struct + S256 string + type PSClient struct + Agent *Agent + AuditEndpoint string + AuthTokenEndpoint string + BaseURL string + HTTPClient *http.Client + InteractionEndpoint string + MissionEndpoint string + OnClarification func(Clarification) (ClarificationReply, error) + OnRequirement func(Requirement) + PermissionEndpoint string + PersonTokenEndpoint string + PreferWaitSeconds int + RefreshMargin time.Duration + func NewPSClient(baseURL string, agent *Agent) *PSClient + func (c *PSClient) Audit(ctx context.Context, a AuditRequest) error + func (c *PSClient) CompleteMission(ctx context.Context, missionS256, summary string) error + func (c *PSClient) Discover(ctx context.Context) (*PersonServerMetadata, error) + func (c *PSClient) ForgetPersonTokens(resource string) + func (c *PSClient) Issuer() string + func (c *PSClient) Metadata() *PersonServerMetadata + func (c *PSClient) PersonToken(ctx context.Context, req PersonTokenRequest) (string, error) + func (c *PSClient) ProposeMission(ctx context.Context, p MissionProposal) (*ApprovedMission, error) + func (c *PSClient) RelayInteraction(ctx context.Context, r Requirement, description, missionS256 string) (*InteractionResponse, error) + func (c *PSClient) RequestAuthToken(ctx context.Context, treq AuthTokenRequest) (*AuthTokenResponse, error) + func (c *PSClient) RequestInteraction(ctx context.Context, ir InteractionRequest) (*InteractionResponse, error) + func (c *PSClient) RequestPermission(ctx context.Context, p PermissionRequest) (*PermissionResponse, error) + func (c *PSClient) RequestPersonToken(ctx context.Context, req PersonTokenRequest) (*PersonTokenResponse, error) + func (c *PSClient) UpdateMission(ctx context.Context, missionS256, description string) (*MissionUpdateResponse, error) + type PendingStatus struct + Clarification string + Options []string + Status string + Timeout int + type PermissionRequest struct + Action string + Description string + MissionS256 string + Parameters map[string]any + type PermissionResponse struct + Permission string + Reason string + func (r *PermissionResponse) Granted() bool + type PersonClaims struct + Cnf Cnf + DWK string + MissionS256 string + Tenant string + func IssuePersonToken(p PersonTokenParams, key crypto.Signer, kid string) (string, *PersonClaims, error) + func VerifyAndExtractPerson(ctx context.Context, req *http.Request, resourceURL string, ...) (*PersonClaims, error) + func VerifyPersonToken(ctx context.Context, token, resourceURL string, opts TokenVerifyOptions) (*PersonClaims, error) + func (c *PersonClaims) PersonServer() string + type PersonServerMetadata struct + AuditEndpoint string + AuthTokenEndpoint string + ClaimsSupported []string + InteractionEndpoint string + MissionControlEndpoint string + MissionEndpoint string + PermissionEndpoint string + PersonTokenEndpoint string + RevocationEndpoint string + ScopesSupported []string + func (m PersonServerMetadata) Validate() error + type PersonTokenParams struct + Agent *AgentClaims + InsecureSkipIdentifierCheck bool + Issuer string + MissionExpiresAt time.Time + MissionS256 string + Now time.Time + Resource string + Subagent *AgentClaims + Subject string + TTL time.Duration + Tenant string + UpstreamExpiresAt time.Time + type PersonTokenRequest struct + MissionS256 string + Resource string + SubagentToken string + UpstreamToken string + type PersonTokenResponse struct + ExpiresIn int64 + PersonToken string + type PresentedToken interface + PersonServer func() string + func VerifyUpstreamToken(ctx context.Context, token string, opts UpstreamVerifyOptions) (PresentedToken, error) + type ProblemError struct + Code string + Detail string + RetryAfter time.Duration + Status int + func (e *ProblemError) Error() string + func (e *ProblemError) Is(target error) bool + type RequestVerifyOptions struct + Now func() time.Time + RequireBodyCoverage bool + RequiredComponents []string + Window time.Duration + type Requirement struct + Code string + Requirement string + ResourceToken string + URL string + func ParseRequirement(v string) (Requirement, error) + func (r Requirement) String() string + type ResourceChallengeOptions struct + Agent *Agent + PS string + Presented string + Resource string + type ResourceClaims struct + Account string + AgentJKT string + DWK string + Interaction *ResourceInteraction + LoginHint string + MissionS256 string + PS string + PresentedJTI string + Scope string + Tenant string + func VerifyResourceChallenge(ctx context.Context, token string, opts ResourceChallengeOptions) (*ResourceClaims, error) + type ResourceInteraction struct + Code string + URL string + type ResourceMetadata struct + AccessMode string + AdditionalSignatureComponents []string + AuthorizationEndpoint string + RevocationEndpoint string + ScopeDescriptions map[string]string + SignatureWindow int + func (m ResourceMetadata) EffectiveAccessMode() string + func (m ResourceMetadata) Validate() error + type ResourceTokenParams struct + Account string + Audience string + Interaction *ResourceInteraction + LoginHint string + Now time.Time + Resource string + Scope string + TTL time.Duration + type ResourceTokenVerifyOptions struct + AgentJKT string + Audience string + CheckMission func(ctx context.Context, missionS256 string) error + PS string + PresentedResolver KeyResolver + PresentedToken string + type RevocationClient struct + HTTPClient *http.Client + PreferWaitSeconds int + Signer ServerSigner + func (c *RevocationClient) Revoke(ctx context.Context, endpoint string, req RevocationRequest) (*RevocationResponse, error) + type RevocationOutcome struct + Error string + Recipient string + func RevocationOutcomeFor(recipient string, err error) RevocationOutcome + type RevocationRequest struct + Exp int64 + JTI string + func ParseRevocationRequest(r *http.Request) (*RevocationRequest, error) + func (r RevocationRequest) Validate() error + type RevocationResponse struct + Downstream []RevocationOutcome + type SelfSignedResolver struct + func (SelfSignedResolver) ResolveKey(_ context.Context, _, _, _ string, cnf *JWK) (crypto.PublicKey, error) + type ServerCaller struct + DWK string + ID string + Kid string + func VerifyServerRequest(ctx context.Context, req *http.Request, opts VerifyServerOptions) (*ServerCaller, error) + type ServerMetadata struct + AcceptSignatureAlgs []string + Description string + DocumentationURI string + Issuer string + JWKSURI string + LogoDarkURI string + LogoURI string + Name string + PolicyURI string + TOSURI string + type ServerSigner struct + DWK string + Issuer string + Key crypto.Signer + Kid string + func (s ServerSigner) SignRequest(req *http.Request) error + type SignatureError struct + AcceptSchemes []string + Code string + Params map[string]string + RequiredInput []string + func ParseSignatureError(v string) (*SignatureError, error) + func SignatureErrorFor(err error) (e SignatureError, ok bool) + func SignatureErrorFromResponse(res *http.Response) (*SignatureError, error) + func (e *SignatureError) Error() string + func (e SignatureError) String() string + type SignatureKey struct + Label string + Params map[string]string + Scheme string + func ParseSignatureKeyMember(req *http.Request, label string) (SignatureKey, error) + type StaticResolver map[string]JWKS + func (r StaticResolver) ResolveKey(_ context.Context, iss, _, kid string, _ *JWK) (crypto.PublicKey, error) + type TokenError struct + Code string + Err error + func NewTokenParamError(param string, err error) *TokenError + func (e *TokenError) Error() string + func (e *TokenError) Status() int + func (e *TokenError) Unwrap() error + type TokenRequestHints struct + Capabilities []string + Device string + DomainHint string + Justification string + LoginHint string + Platform string + Prompt string + Tenant string + type TokenVerifyOptions struct + InsecureSkipIdentifierCheck bool + Resolver KeyResolver + Signature RequestVerifyOptions + type Transport struct + Agent *Agent + AuthVerify TokenVerifyOptions + Base http.RoundTripper + MaxBodyBytes int64 + MaxClockSkewWait time.Duration + MissionS256 string + OnRequirement func(Requirement) + PS *PSClient + RefreshMargin time.Duration + ResourceVerify TokenVerifyOptions + UpstreamExpiresAt time.Time + UpstreamToken string + func NewTransport(agent *Agent, ps *PSClient) *Transport + func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) + type UnsupportedSchemeError struct + Accepted []string + Scheme string + func (e *UnsupportedSchemeError) Error() string + func (e *UnsupportedSchemeError) Is(target error) bool + type UpstreamVerifyOptions struct + AtAS bool + Intermediary *AgentClaims + PS string + TrustAuthIssuer func(iss, aud, sub string) bool + type VerifyAgentTokenOptions struct + RequireProviderClaims bool + Resolver KeyResolver + Signature RequestVerifyOptions + type VerifyServerOptions struct + DWKs []string + InsecureSkipIdentifierCheck bool + Resolver KeyResolver + Signature RequestVerifyOptions + TrustSigner func(id, dwk string) bool