def make_login_blueprint():
    '\n    Return:\n        flask.Blueprint: the blueprint used for ``/login`` endpoints\n\n    Raises:\n        ValueError: if app is not amenably configured\n    '
    blueprint = flask.Blueprint('login', __name__)
    blueprint_api = RestfulApi(blueprint, decorators=[enable_audit_logging])

    @blueprint.route('', methods=['GET'])
    def default_login():
        '\n        The default root login route.\n        '
        (default_provider_info, all_provider_info) = get_login_providers_info()
        return flask.jsonify({'default_provider': default_provider_info, 'providers': all_provider_info})
    configured_idps = config['OPENID_CONNECT'].keys()
    if ('fence' in configured_idps):
        blueprint_api.add_resource(FenceLogin, '/fence', strict_slashes=False)
        blueprint_api.add_resource(FenceCallback, '/fence/login', strict_slashes=False)
    if ('google' in configured_idps):
        blueprint_api.add_resource(GoogleLogin, '/google', strict_slashes=False)
        blueprint_api.add_resource(GoogleCallback, '/google/login', strict_slashes=False)
    if ('orcid' in configured_idps):
        blueprint_api.add_resource(ORCIDLogin, '/orcid', strict_slashes=False)
        blueprint_api.add_resource(ORCIDCallback, '/orcid/login', strict_slashes=False)
    if ('ras' in configured_idps):
        blueprint_api.add_resource(RASLogin, '/ras', strict_slashes=False)
        blueprint_api.add_resource(RASCallback, '/ras/callback', strict_slashes=False)
    if ('synapse' in configured_idps):
        blueprint_api.add_resource(SynapseLogin, '/synapse', strict_slashes=False)
        blueprint_api.add_resource(SynapseCallback, '/synapse/login', strict_slashes=False)
    if ('microsoft' in configured_idps):
        blueprint_api.add_resource(MicrosoftLogin, '/microsoft', strict_slashes=False)
        blueprint_api.add_resource(MicrosoftCallback, '/microsoft/login', strict_slashes=False)
    if ('okta' in configured_idps):
        blueprint_api.add_resource(OktaLogin, '/okta', strict_slashes=False)
        blueprint_api.add_resource(OktaCallback, '/okta/login', strict_slashes=False)
    if ('cognito' in configured_idps):
        blueprint_api.add_resource(CognitoLogin, '/cognito', strict_slashes=False)
        blueprint_api.add_resource(CognitoCallback, '/cognito/login', strict_slashes=False)
    if ('shibboleth' in configured_idps):
        blueprint_api.add_resource(ShibbolethLogin, '/shib', strict_slashes=False)
        blueprint_api.add_resource(ShibbolethCallback, '/shib/login', strict_slashes=False)
    if ('cilogon' in configured_idps):
        blueprint_api.add_resource(CilogonLogin, '/cilogon', strict_slashes=False)
        blueprint_api.add_resource(CilogonCallback, '/cilogon/login', strict_slashes=False)
    return blueprint
Return:
    flask.Blueprint: the blueprint used for ``/login`` endpoints

Raises:
    ValueError: if app is not amenably configured
def make_login_blueprint():
    '\n    Return:\n        flask.Blueprint: the blueprint used for ``/login`` endpoints\n\n    Raises:\n        ValueError: if app is not amenably configured\n    '
    blueprint = flask.Blueprint('login', __name__)
    blueprint_api = RestfulApi(blueprint, decorators=[enable_audit_logging])

    @blueprint.route(, methods=['GET'])
    def default_login():
        '\n        The default root login route.\n        '
        (default_provider_info, all_provider_info) = get_login_providers_info()
        return flask.jsonify({'default_provider': default_provider_info, 'providers': all_provider_info})
    configured_idps = config['OPENID_CONNECT'].keys()
    if ('fence' in configured_idps):
        blueprint_api.add_resource(FenceLogin, '/fence', strict_slashes=False)
        blueprint_api.add_resource(FenceCallback, '/fence/login', strict_slashes=False)
    if ('google' in configured_idps):
        blueprint_api.add_resource(GoogleLogin, '/google', strict_slashes=False)
        blueprint_api.add_resource(GoogleCallback, '/google/login', strict_slashes=False)
    if ('orcid' in configured_idps):
        blueprint_api.add_resource(ORCIDLogin, '/orcid', strict_slashes=False)
        blueprint_api.add_resource(ORCIDCallback, '/orcid/login', strict_slashes=False)
    if ('ras' in configured_idps):
        blueprint_api.add_resource(RASLogin, '/ras', strict_slashes=False)
        blueprint_api.add_resource(RASCallback, '/ras/callback', strict_slashes=False)
    if ('synapse' in configured_idps):
        blueprint_api.add_resource(SynapseLogin, '/synapse', strict_slashes=False)
        blueprint_api.add_resource(SynapseCallback, '/synapse/login', strict_slashes=False)
    if ('microsoft' in configured_idps):
        blueprint_api.add_resource(MicrosoftLogin, '/microsoft', strict_slashes=False)
        blueprint_api.add_resource(MicrosoftCallback, '/microsoft/login', strict_slashes=False)
    if ('okta' in configured_idps):
        blueprint_api.add_resource(OktaLogin, '/okta', strict_slashes=False)
        blueprint_api.add_resource(OktaCallback, '/okta/login', strict_slashes=False)
    if ('cognito' in configured_idps):
        blueprint_api.add_resource(CognitoLogin, '/cognito', strict_slashes=False)
        blueprint_api.add_resource(CognitoCallback, '/cognito/login', strict_slashes=False)
    if ('shibboleth' in configured_idps):
        blueprint_api.add_resource(ShibbolethLogin, '/shib', strict_slashes=False)
        blueprint_api.add_resource(ShibbolethCallback, '/shib/login', strict_slashes=False)
    if ('cilogon' in configured_idps):
        blueprint_api.add_resource(CilogonLogin, '/cilogon', strict_slashes=False)
        blueprint_api.add_resource(CilogonCallback, '/cilogon/login', strict_slashes=False)
    return blueprint