Привет Я использую аутентификацию маркера eve (http://python-eve.org/tutorials/account_management.html#accounts-with-token-authentication), но застрял в сообщении 401.ошибка аутентификации EVE
class RolesAuth(TokenAuth):
def check_auth(self, token, allowed_roles, resource, method):
users = app.data.driver.db['users']
lookup = {'token': token}
if allowed_roles:
lookup['roles'] = {'$in': allowed_roles}
user = users.find_one(lookup)
return user
if __name__ == '__main__':
app = Eve(auth=RolesAuth)
app.run()
Я использую тест имя пользователя и пароль 1234> это приводит к base64 кодированные; dGVzdDoxMjM0
Когда я использую локон
curl -X "GET" "http://api.domain.com:5000/people/obama" -H "Authorization: Basic dGVzdDoxMjM0"
это приводит к 401
{"_status": "ERR", "_error": {"message": "Please provide proper credentials", "code": 401}}
я проверил MongoDB и маркер там
{
"_id" : ObjectId("551004d6714e7a5fec0729e3"),
"username" : "test",
"_updated" : ISODate("2015-03-23T12:19:34.000Z"),
"roles" : [
"admin",
"superuser"
],
"token" : "dGVzdDoxMjM0",
"_created" : ISODate("2015-03-23T12:19:34.000Z"),
"password" : "1234",
"_etag" : "96b41717630a49bca41b89f971cc3b8bd8d518a3"
}
Что-то не в команде cURL?
Пункт 1. ОК спасибо, у меня создалось впечатление, что базовое имя пользователя и пароль пользователя стали маркером в заголовке авторизации. Итак, теперь я добавляю и отправляю заголовок авторизации с маркером, закодированным как curl -X «GET» «http://api.domain.com:5000/people/obama» -H «Авторизация: bGVvdG9rZW4 =», в котором Авторизация: bGVvdG9rZW4 = авторизация: + base64 encode однако я все еще получаю 401 Пункт 2.Правильное спасибо изменило его Пункт 3. Правильно, был для целей тестирования, будет удален после испытания –