Versions in this module Expand all Collapse all v1 v1.0.0 Feb 15, 2024 Changes in this version + const ES256 + const ES384 + const ES512 + const EdDSA + const PS256 + const PS384 + const PS512 + const RS256 + const RS384 + const RS512 + const ScopeOfflineAccess + const ScopeOpenID + func ClientContext(ctx context.Context, client *http.Client) context.Context + func InsecureIssuerURLContext(ctx context.Context, issuerURL string) context.Context + func Nonce(nonce string) oauth2.AuthCodeOption + type Config struct + ClientID string + InsecureSkipSignatureCheck bool + Now func() time.Time + SkipClientIDCheck bool + SkipExpiryCheck bool + SkipIssuerCheck bool + SupportedSigningAlgs []string + type IDToken struct + AccessTokenHash string + Audience []string + Expiry time.Time + IssuedAt time.Time + Issuer string + Nonce string + Subject string + func (i *IDToken) Claims(v interface{}) error + func (i *IDToken) VerifyAccessToken(accessToken string) error + type IDTokenVerifier struct + func NewVerifier(issuerURL string, keySet KeySet, config *Config) *IDTokenVerifier + func (v *IDTokenVerifier) Verify(ctx context.Context, rawIDToken string) (*IDToken, error) + type KeySet interface + VerifySignature func(ctx context.Context, jwt string) (payload []byte, err error) + type Provider struct + func NewProvider(ctx context.Context, issuer string) (*Provider, error) + func NewProviderB2C(ctx context.Context, issuer string, userFlow string) (*Provider, error) + func (p *Provider) Claims(v interface{}) error + func (p *Provider) Endpoint() oauth2.Endpoint + func (p *Provider) UserInfo(ctx context.Context, tokenSource oauth2.TokenSource) (*UserInfo, error) + func (p *Provider) UserInfoEndpoint() string + func (p *Provider) Verifier(config *Config) *IDTokenVerifier + func (p *Provider) VerifierContext(ctx context.Context, config *Config) *IDTokenVerifier + type ProviderConfig struct + Algorithms []string + AuthURL string + DeviceAuthURL string + IssuerURL string + JWKSURL string + TokenURL string + UserInfoURL string + func (p *ProviderConfig) NewProvider(ctx context.Context) *Provider + type RemoteKeySet struct + func NewRemoteKeySet(ctx context.Context, jwksURL string) *RemoteKeySet + func (r *RemoteKeySet) VerifySignature(ctx context.Context, jwt string) ([]byte, error) + type StaticKeySet struct + PublicKeys []crypto.PublicKey + func (s *StaticKeySet) VerifySignature(ctx context.Context, jwt string) ([]byte, error) + type TokenExpiredError struct + Expiry time.Time + func (e *TokenExpiredError) Error() string + type UserInfo struct + Email string + EmailVerified bool + Profile string + Subject string + func (u *UserInfo) Claims(v interface{}) error