Source code for globus_sdk.authorizers.basic
from __future__ import unicode_literals
import logging
from globus_sdk.authorizers.base import GlobusAuthorizer
from globus_sdk.utils import safe_b64encode
logger = logging.getLogger(__name__)
[docs]class BasicAuthorizer(GlobusAuthorizer):
"""
This Authorizer implements Basic Authentication.
Given a "username" and "password", they are sent base64 encoded in the
header.
:param username: Username component for Basic Auth
:type username: str
:param password: Password component for Basic Auth
:type password: str
"""
def __init__(self, username, password):
logger.info(
(
"Setting up a BasicAuthorizer. It will use an "
"auth type of Basic and cannot handle 401s."
)
)
logger.info("BasicAuthorizer.username = {}".format(username))
self.username = username
self.password = password
to_b64 = "{0}:{1}".format(username, password)
self.header_val = "Basic %s" % safe_b64encode(to_b64)