Я относительно новичок в RESTful API, поэтому, конечно, я не могу это правильно разработать.Flask RESTful API и аутентификация для определенного пользователя
Я хочу вернуть разные подмножества пользовательского объекта JSON из/api/users/[user_id] на основе того, кто аутентифицируется. Поэтому, если пользователь «alice» пытается получить доступ/api/users/alice, она получит гораздо больше информации (например, личные настройки и т. Д.), Чем пользовательский «bob», который просто получит свой общедоступный профиль.
В настоящее время я использую flask_restful с httpbasicauth. Сейчас у меня есть следующие:
class UserAPI(flask_restful.Resource):
@g.auth.login_required
def get(self, username):
# here is where I want to get the HTTPBasicAuth username
# to determine how much data to return
user = User.objects(username=username).exclude('password').first()
if user is not None:
return user.to_json()
else:
flask_restful.abort(404, message='User not found: ' + username)
Вопрос заключается в том, что я не могу показаться, чтобы выяснить, чистый способ получить HTTP базовой аутентификации данных. Я знаю, что могу разобрать запрос и декодировать данные базы-64, но я чувствую, что мне не нужно это делать. Или, еще лучше, найдите способ передать user_id из/api/users/[user_id] в аннотацию login_required.
Я чувствую, что это будет очень распространенный случай использования, поэтому я не могу понять, почему я не могу найти что-либо в этой области. Я это совершенно неправильно?
Большое спасибо!
Большое спасибо! Не знал о поле request.authorization: / – DanB91