Как аутентифицировать веб-приложения JHipster monolithi c (токены JWT) для использования сервисов с использованием CURL или другого HTTP REST-клиента - PullRequest
0 голосов
/ 20 января 2020

Как быстро использовать приложения, сгенерированные JHipster, используя токены JWT с HTTP-клиентами, такими как CURL, Insomnia, Postman и другими?

1 Ответ

0 голосов
/ 20 января 2020

Ну, я проверил некоторое время и обнаружил, что вы должны выполнить следующие шаги:

  1. Вызовите конечную точку аутентификации, ниже приведен пример с командной строкой CURL на MS- Windows выполнение (CURL установлен с терминалом Cmder https://cmder.net/):

    curl -H "Content-Type: application / json" -H "Принять: application / json" -d "{\" имя пользователя \ ": \" admin \ ", \" пароль \ ": \" admin \ ", \" запомнитьMe \ ": false}" -X POST http://localhost: 8080 / api / authenticate

Примечание: linux не требует escape \". Этот вызов вернет токен, подобный этому:

{                                                                                               
  "id_token":"eyJzdWIiOiJhZG1pbiIsImF1dGgiOiJST0xFX0FETUlOLFJPTEVfVVNFUiIsImV4cCI6MTU3OTU1MzY3NX0.B0LRZffZJuDEm17SY9xoahx-YozoNjYAbJCy-UxnqvHEHYxOXnJLFjSfymVAoBCzCnaquOFFs8iVTxBDVJeA"                                                                                
}                                                                                               

С помощью возвращенного токена вы можете выполнять вызовы вашего JHipster RESTful API с помощью механизма аутентификации токена Bearer, который является примером синтаксиса:

curl -H "Content-Type: application / json»-H "Accept: приложение / json" -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImF1dGgiOiJST0xFX0FETUlOLFJPTEVfVVNFUiIsImV4cCI6MTU3OTU1MzY3NX0.B0LRZffZJuDEm17SY9xoahx-YozoNjYAbJCy-7UxnqvHEHYxOXnJLFjSfymVAoBCzCnaquOFFs8-iVTxBDVJeA" -X GET http://localhost: 8080 / API / рабочие процессы / 1

Где моя служба JHipster обращается к сгенерированной сущности и контроллеру REST, называемому workflow, и я использую метод GET. Возвращенное значение моего звонка:

{                                                       
  "id" : 1,                                             
  "name" : "mobile Fish",                               
  "description" : "Home Loan Account Table Computer",   
  "enabled" : false,                                    
  "version" : "FTP Savings Account",                    
  "creationDate" : "2020-01-13T03:44:16Z",              
  "workflowType" : "STEPS_DIFF_FORMS",                  
  "workflow" : null,                                    
  "workflows" : null                                    
}                                                       
...