Можем ли мы сохранить как веб-клиент, так и сервер jsreport аутентификацию с сервером идентификации 4

Привет, я пытаюсь реализовать аутентификацию с помощью сервера идентификации 4 (пример: "jsreport-with -authorization-server-sample"), где я могу настроить клиент веб-приложения и сервер jsreport с сервером аутентификации. Но проблема в том, что нам нужно удалить раздел администратора из:

"authentication": { 
   "admin": {
   "username": "admin",
   "password": "password"
}

добавить

"authorizationServer": {
    "tokenValidation": {
    "endpoint": "http://localhost:5000/connect/introspect",
    "usernameField": "username",
    "activeField": "active",
    "scope": {
    "valid": ["jsreport"]
},
"auth": {
     "type": "basic",
     "basic": {
     "clientId": "jsreport",
     "clientSecret": "secret"
    }
   }
  }
 },
 "enabled": true
} 

Теперь мы можем выполнить отчет с сервера jsreport без входа в систему. Мой вопрос: можем ли мы сохранить аутентификацию клиента и сервера отчетов с помощью сервера идентификации 4?


person Utpal Kumar Das    schedule 26.03.2018    source источник


Ответы (1)


Да, вы можете сохранить как авторизацию сервера авторизации, так и обычный логин jsreport.

вам просто нужно сохранить admin параметры authentication конфигурации.

с таким конфигом:

{
  ...
  "authentication": {
    "cookieSession": {
      "secret": "<your strong secret>"
    },
    "admin": {
      "username": "admin",
      "password": "password"
    },
    "authorizationServer": {
      "tokenValidation": {
        "endpoint": "http://jsreport-sample.com:5000/connect/introspect",
        "usernameField": "username",
        "activeField": "active",
        "scope": {
          "valid": ["jsreport"]
        },
        "auth": {
          "type": "basic",
          "basic": {
            "clientId": "jsreport",
            "clientSecret": "secret"
          }
        }
      }
    },
    "enabled": true
  }
  ...
}

вы можете сохранить вход в студию jsreport, а также можете войти в систему из вызовов http API, используя аутентификацию на основе токенов (делегированную серверу авторизации) и обычную базовую аутентификацию (обрабатывается jsreport)

person BJR Matos    schedule 27.03.2018
comment
Привет, BJR Matos, спасибо за ответ, я пытался таким образом, но обнаружил несанкционированный запрос веб-клиента. Не знаю, пропустил я что-то или нет. - person Utpal Kumar Das; 27.03.2018
comment
У меня есть сервер идентификации 4 пользователя в базе данных, и пользователи могут войти в систему со своими учетными данными. если я использую администратора для студии, то другие пользователи получают несанкционированный доступ к серверу jsreport. Нужно ли мне также добавлять пользователя-администратора на сервер идентификации 4? - person Utpal Kumar Das; 27.03.2018
comment
хм, странно, я не пробовал случай, когда пользователь-администратор не указан, поэтому, вероятно, здесь чего-то не хватает. что делают параметры авторизации сервера, так это просто делегируют запрос другому серверу, и этот сервер должен ответить пользователем, который также существует в пользовательских объектах jsreport, я предполагаю, что обычные параметры аутентификации jsreport + авторизация сервера не работают правильно, когда администратор не определен, я буду попробуйте настроить и проверить случай для этого позже. Благодарность - person BJR Matos; 27.03.2018
comment
У меня может быть любое количество пользователей сервера идентификации в базе данных, после входа в систему, как все они будут идентифицированы сервером jsreport? Кажется, он может определить только пользователя-администратора, который не определен на сервере идентификации. - person Utpal Kumar Das; 27.03.2018
comment
Есть ли какое-либо обновление по этому поводу, в примере мы получаем сообщение об ошибке: Ошибка при попытке получить список отчетов из jsreport: Несанкционировано при нажатии кнопки «Получить профиль и токен доступа для кнопки jsreport» после входа в систему пользователем сервера идентификации - person Utpal Kumar Das; 09.06.2018