@@ -28,17 +28,27 @@ def __str__(self) -> str:
2828 return f"Basic { self ._value } "
2929
3030
31- class Bearer :
32- """Represents HTTP Bearer Token Authentication."""
31+ class Token :
32+ """Represents HTTP Token Authentication."""
33+
34+ prefix = "Token"
3335
3436 def __init__ (self , token : str ) -> None :
3537 self ._value = token
3638
3739 def __str__ (self ) -> str :
38- return f"Bearer { self ._value } "
40+ return f"{ self .prefix } { self ._value } "
41+
42+
43+ class Bearer (Token ): # pylint: disable=too-few-public-methods
44+ """Represents HTTP Bearer Token Authentication."""
45+
46+ prefix = "Bearer"
3947
4048
41- def check_authentication (request : Request , auths : List [Union [Basic , Bearer ]]) -> bool :
49+ def check_authentication (
50+ request : Request , auths : List [Union [Basic , Token , Bearer ]]
51+ ) -> bool :
4252 """
4353 Returns ``True`` if request is authorized by any of the authentications, ``False`` otherwise.
4454
@@ -47,15 +57,17 @@ def check_authentication(request: Request, auths: List[Union[Basic, Bearer]]) ->
4757 check_authentication(request, [Basic("username", "password")])
4858 """
4959
50- auth_header = request .headers .get ("Authorization" )
60+ auth_header = request .headers .get_directive ("Authorization" )
5161
5262 if auth_header is None :
5363 return False
5464
5565 return any (auth_header == str (auth ) for auth in auths )
5666
5767
58- def require_authentication (request : Request , auths : List [Union [Basic , Bearer ]]) -> None :
68+ def require_authentication (
69+ request : Request , auths : List [Union [Basic , Token , Bearer ]]
70+ ) -> None :
5971 """
6072 Checks if the request is authorized and raises ``AuthenticationError`` if not.
6173
0 commit comments