예제 #1
0
def acc_get_uid_from_request():
    """
    Looks in the data base for the secret that matches with the API key in the
    request. If the REST API key is found and if the signature is correct
    returns the user's id.

    @return: If everything goes well it returns the user's uid, it not -1
    """

    return WebAPIKey.acc_get_uid_from_request()
            def auth_key(*args, **kwargs):
                if 'apikey' in request.values:
                    from invenio.web_api_key_model import WebAPIKey
                    from invenio.webuser_flask import login_user

                    user_id = WebAPIKey.acc_get_uid_from_request()
                    if user_id == -1:
                        abort(401)
                    login_user(user_id)
                else:
                    abort(401)
                return fn(*args, **kwargs)
예제 #3
0
파일: restapi.py 프로젝트: gszpura/zenodo
        def auth_key(*args, **kwargs):
            if 'apikey' in request.values:
                from invenio.web_api_key_model import WebAPIKey
                from invenio.webuser_flask import login_user

                user_id = WebAPIKey.acc_get_uid_from_request()
                if user_id == -1:
                    restful.abort(401)
                login_user(user_id)
            else:
                restful.abort(401)
            return fn(*args, **kwargs)