예제 #1
0
def load_strategy(request=None):
    """
    实例化Strategy类
    :param request:
    :return:
    """
    return get_strategy(STRATEGY, STORAGE, request)
예제 #2
0
def create_or_update_micromasters_social_auth(user, uid, details):
    """
    Creates or updates MicroMasters social auth for a user

    Args:
        user (User): user to create the auth for
        uid (str): the micromasters username of the user
        details (dict): additional details

    Returns:
        UserSocialAuth: the created social auth record
    """
    # avoid a circular import
    from social_django.utils import STORAGE, STRATEGY, load_backend

    strategy = get_strategy(STRATEGY, STORAGE)
    storage = strategy.storage
    backend = load_backend(strategy, MicroMastersAuth.name, None)
    try:
        social = storage.user.create_social_auth(user, uid, MicroMastersAuth.name)
    except IntegrityError:
        # if the user already has a social auth for MM, we don't want to fail
        # so just use the existing one
        social = (
            storage.user.get_social_auth_for_user(user, provider=MicroMastersAuth.name)
            .filter(uid=uid)
            .first()
        )

    # update metadata
    extra_data = backend.extra_data(user, uid, {"username": uid}, details)
    social.set_extra_data(extra_data)
    return social
예제 #3
0
def load_strategy(request=None):
    return get_strategy(STRATEGY, STORAGE, request)
예제 #4
0
def load_strategy(request=None):
    return get_strategy('rest_social_auth.strategy.DRFStrategy', STORAGE,
                        request)
예제 #5
0
def load_strategy(request):
    return get_strategy(get_helper('STRATEGY'), get_helper('STORAGE'), request)
예제 #6
0
def load_strategy(request_handler, config):
    return get_strategy(STRATEGY_PATH, STORAGE_PATH, request_handler, config)
예제 #7
0
def load_strategy(request=None):
    return get_strategy('rest_social_auth.strategy.DRFStrategy', STORAGE, request)
예제 #8
0
def load_strategy(request=None):
    return get_strategy('plugin_social_auth.w2p_strategy.W2PStrategy',
                        'plugin_social_auth.models.W2PStorage', request)
예제 #9
0
def load_strategy(request=None, requestData=None, **kwargs):
    return get_strategy(STRATEGY, STORAGE, request, requestData=requestData)
예제 #10
0
def load_strategy(request=None):
    return get_strategy('plugin_social_auth.w2p_strategy.W2PStrategy', 'plugin_social_auth.models.W2PStorage', request)
예제 #11
0
def load_drf_strategy(request=None):
    """Returns the DRF strategy"""
    return get_strategy(
        "authentication.strategy.DjangoRestFrameworkStrategy", STORAGE, request
    )
예제 #12
0
def load_strategy(request=None):
    return get_strategy(STRATEGY, STORAGE, request)
예제 #13
0
def load_strategy(request_handler):
    strategy = get_helper(request_handler, 'STRATEGY')
    storage = get_helper(request_handler, 'STORAGE')
    return get_strategy(strategy, storage, request_handler)