1# Copyright 2016 Google LLC
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#      http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15"""Exceptions used in the google.auth package."""
16
17
18class GoogleAuthError(Exception):
19    """Base class for all google.auth errors."""
20
21
22class TransportError(GoogleAuthError):
23    """Used to indicate an error occurred during an HTTP request."""
24
25
26class RefreshError(GoogleAuthError):
27    """Used to indicate that an refreshing the credentials' access token
28    failed."""
29
30
31class UserAccessTokenError(GoogleAuthError):
32    """Used to indicate ``gcloud auth print-access-token`` command failed."""
33
34
35class DefaultCredentialsError(GoogleAuthError):
36    """Used to indicate that acquiring default credentials failed."""
37
38
39class MutualTLSChannelError(GoogleAuthError):
40    """Used to indicate that mutual TLS channel creation is failed, or mutual
41    TLS channel credentials is missing or invalid."""
42
43
44class ClientCertError(GoogleAuthError):
45    """Used to indicate that client certificate is missing or invalid."""
46
47
48class OAuthError(GoogleAuthError):
49    """Used to indicate an error occurred during an OAuth related HTTP
50    request."""
51
52
53class ReauthFailError(RefreshError):
54    """An exception for when reauth failed."""
55
56    def __init__(self, message=None):
57        super(ReauthFailError, self).__init__(
58            "Reauthentication failed. {0}".format(message)
59        )
60
61
62class ReauthSamlChallengeFailError(ReauthFailError):
63    """An exception for SAML reauth challenge failures."""
64