@@ -14,7 +14,13 @@ import (
1414 "github.com/oauth2-proxy/oauth2-proxy/v7/pkg/requests"
1515)
1616
17−var _ Provider = (*ProviderData)(nil)
17+var (
18+ // ErrNotImplemented is returned when a provider did not override a default
19+ // implementation method that doesn't have sensible defaults
20+ ErrNotImplemented = errors.New("not implemented")
21+
22+ _ Provider = (*ProviderData)(nil)
23+)
1824
1925// Redeem provides a default implementation of the OAuth2 token redemption process
2026func (p *ProviderData) Redeem(ctx context.Context, redirectURL, code string) (s *sessions.SessionState, err error) {
@@ -82,12 +88,12 @@ func (p *ProviderData) GetLoginURL(redirectURI, state string) string {
8288
8389// GetEmailAddress returns the Account email address
8490func (p *ProviderData) GetEmailAddress(ctx context.Context, s *sessions.SessionState) (string, error) {
85− return "", errors.New("not implemented")
91+ return "", ErrNotImplemented
8692}
8793
8894// GetUserName returns the Account username
8995func (p *ProviderData) GetUserName(ctx context.Context, s *sessions.SessionState) (string, error) {
90− return "", errors.New("not implemented")
96+ return "", ErrNotImplemented
9197}
9298
9399// ValidateGroup validates that the provided email exists in the configured provider
@@ -110,5 +116,5 @@ func (p *ProviderData) RefreshSessionIfNeeded(ctx context.Context, s *sessions.S
110116// CreateSessionStateFromBearerToken should be implemented to allow providers
111117// to convert ID tokens into sessions
112118func (p *ProviderData) CreateSessionStateFromBearerToken(ctx context.Context, rawIDToken string, idToken *oidc.IDToken) (*sessions.SessionState, error) {
113− return nil, errors.New("not implemented")
119+ return nil, ErrNotImplemented
114120}