Example #1
0
def status():
    authz = request.authz
    enable_cache(vary_user=True)
    providers = sorted(oauth.remote_apps.values(), key=lambda p: p.label)
    providers = [{
        'name': p.name,
        'label': p.label,
        'login': url_for('.login', provider=p.name),
    } for p in providers]

    if get_config('PASSWORD_LOGIN'):
        providers.append({
            'name': 'password',
            'label': 'Email',
            'registration': get_config('PASSWORD_REGISTRATION'),
            'login': url_for('.password_login'),
            'register': url_for('roles_api.invite_email')
        })

    return jsonify({
        'logged_in': authz.logged_in,
        'api_key': authz.role.api_key if authz.logged_in else None,
        'role': authz.role,
        'roles': authz.roles,
        'public_roles': get_public_roles(),
        'permissions': {
            'read': authz.collections[authz.READ],
            'write': authz.collections[authz.WRITE]
        },
        'logout': url_for('.logout'),
        'providers': providers,
    })
Example #2
0
def status():
    enable_cache(vary_user=True)
    return jsonify({
        'logged_in': authz.logged_in(),
        'api_key': request.auth_role.api_key if authz.logged_in() else None,
        'role': request.auth_role,
        'roles': list(request.auth_roles),
        'public_roles': authz.get_public_roles(),
        'permissions': {
            'read': authz.collections(authz.READ),
            'write': authz.collections(authz.WRITE)
        },
        'logout': url_for('.logout')
    })
Example #3
0
def status():
    enable_cache(vary_user=True)
    return jsonify({
        'logged_in':
        authz.logged_in(),
        'api_key':
        request.auth_role.api_key if authz.logged_in() else None,
        'role':
        request.auth_role,
        'roles':
        list(request.auth_roles),
        'public_roles':
        authz.get_public_roles(),
        'permissions': {
            'read': authz.collections(authz.READ),
            'write': authz.collections(authz.WRITE)
        },
        'logout':
        url_for('.logout')
    })
Example #4
0
    def __init__(self, name, data):
        self.name = six.text_type(name)
        self.data = data
        self.label = data.get('label', name)
        self.info_url = data.get('info_url')
        self.category = data.get('category')
        self.roles = []
        self.entities_count = None
        self.public = False

        for role in dict_list(data, 'roles', 'role'):
            role_id = Role.load_id(role)
            if role_id is not None:
                self.roles.append(role_id)
            else:
                log.warning("Could not find role: %s", role)
            if role_id in get_public_roles():
                self.public = True

        if not len(self.roles):
            raise ValueError("No roles for dataset: %s" % self.name)

        self._queries = dict_list(data, 'queries', 'query')
Example #5
0
def status():
    enable_cache(vary_user=True)
    providers = sorted(oauth.remote_apps.values(), key=lambda p: p.label)
    providers = [{
        'name': p.name,
        'label': p.label,
        'login': url_for('.login', provider=p.name),
    } for p in providers]
    authz = request.authz

    return jsonify({
        'logged_in': authz.logged_in,
        'api_key': authz.role.api_key if authz.logged_in else None,
        'role': authz.role,
        'roles': authz.roles,
        'public_roles': get_public_roles(),
        'permissions': {
            'read': authz.collections[authz.READ],
            'write': authz.collections[authz.WRITE]
        },
        'logout': url_for('.logout'),
        'providers': providers,
    })