2016-04-25 2 views
0

Я использую приложение Java обеспечивает интерфейс REST для базы данных MongoDB под названием «RESTHeart»REST - Как использовать токен аутентификации в последующих запросах

Когда я делаю запрос нормального GET.

http -a admin:temp http://172.18.18.122:8080/_logic/roles/admin 

Я получаю токен аутентификации AUTH-токен: 10dc2eeb-9624-47f2-a542-c97e0af82b23, как я могу использовать его последующие запросы?

Вот полный ответ

HTTP/1.1 200 OK 
    Access-Control-Allow-Credentials: true 
    Access-Control-Allow-Origin: * 
    Access-Control-Expose-Headers: Location, ETag, Auth-Token, Auth-Token-Valid-Until, Auth-Token-Location, X-Powered-By 
    Auth-Token: 10dc2eeb-9624-47f2-a542-c97e0af82b23 
    Auth-Token-Location: /_authtokens/admin 
    Auth-Token-Valid-Until: 2016-04-25T14:37:22.290Z 
    Connection: keep-alive 
    Content-Encoding: gzip 
    Content-Length: 109 
    Content-Type: application/hal+json 
    Date: Mon, 25 Apr 2016 14:22:22 GMT 
    X-Powered-By: restheart.org 

    { 
     "_links": { 
      "self": { 
       "href": "/_logic/roles/admin" 
      } 
     }, 
     "authenticated": true, 
     "roles": [ 
      "ADMIN" 
     ] 
    } 

Я попытался следующие:

http http://172.18.18.122:8080/_logic/roles/admin Auth-Token:'10dc2eeb-9624-47f2-a542-c97e0af82b23' 

Ответ:

HTTP/1.1 403 Forbidden 
Access-Control-Allow-Credentials: true 
Access-Control-Allow-Origin: * 
Access-Control-Expose-Headers: Location, ETag, Auth-Token, Auth-Token-Valid-Until, Auth-Token-Location, X-Powered-By 
Connection: keep-alive 
Content-Length: 0 
Date: Mon, 25 Apr 2016 14:30:27 GMT 
X-Powered-By: restheart.org 

Я не уверен, что я делаю неправильно здесь , есть идеи?

+0

прибудут ответ сервера должен включать в себя заголовок Access-Control-Allow-Headers. См. Http://stackoverflow.com/questions/13994507/how-do-you-send-a-custom-header-in-a-cross-domain-cors-xmlhttprequest – RamblinRose

ответ

1

с httpie вы можете просто сделать:

http -a <username>:<Auth-Token> GET http://172.18.18.122:8080/auth/users

0

Я нашел решение этого вопроса, все, что мне было нужно, чтобы передать заголовок авторизации вместе с «имя пользователя: пароль» закодирован в формате base64

http GET http://172.18.18.122:8080/auth/users authorization:'Basic YWRtaW46dGVtcA==' 
1

Клиенты аутентифицируют передающие учетные данные через стандартную базовую аутентификацию, стандартный метод для пользовательского агента HTTP для предоставления имени пользователя и пароля, когда maki ng запрос. RESTHeart не имеет гражданства: нет сеанса аутентификации, и учетные данные должны отправляться по каждому запросу.

Конечно, это означает, что вы должны обеспечить связь с HTTPS.

Там в документации о том, как процесс аутентификации работает в restheart на https://softinstigate.atlassian.net/wiki/x/JgDM

Смежные вопросы