Ошибка проверки токена. Прокси не авторизован в keystone. Keystone-аутентификация

Я пытался включить последнюю версию IDM (Docker) и pep-proxy (пример git, работающий с сервером узла).

Когда я запустил pep-proxy, все работало как положено. У меня есть следующие сообщения:

  1. ИНФОРМАЦИЯ: Сервер — запуск прокси-сервера PEP на порту 80. Аутентификация IdM...

  2. Сервер — успешная проверка подлинности прокси-сервера PEP. Прокси-токен авторизации: d9badf48-16fa-423d-884c-a3e155578791

Теперь возникает проблема. Когда я ввожу неправильный токен, я получаю эту ошибку.

ERROR: IDM-Client - Error validating token. 
Proxy not authorized in keystone. Keystone authentication ... 
ERROR: Server - Caught exception: 
SyntaxError: Unexpected token u in JSON at position 0

Насколько я понимаю, я ожидаю какого-то возврата, такого как неверный токен и т. д., вместо этого я получаю эту ошибку в pep-proxy и мою команду curl show-> (52) Пустой ответ с сервера.

Мой config.json pep-proxy:

var config = {};

// Used only if https is disabled
config.pep_port = 80;

// Set this var to undefined if you don't want the server to listen on  HTTPS
config.https = {
  enabled: false,
  cert_file: 'cert/cert.crt',
  key_file: 'cert/key.key',
  port: 443
};

config.idm = {
  host: 'localhost',
  port: 3000,
  ssl: false
}

config.app = {
  host: 'www.google.es',
  port: '80',
  ssl: false // Use true if the app server listens in https
}

// Credentials obtained when registering PEP Proxy in app_id in Account Portal     
config.pep = {
  app_id: 'xxxxxx',
  username: 'xxxxxx',
  password: 'xxxxxx',
  trusted_apps : []
}

// in seconds
config.cache_time = 300;

// if enabled PEP checks permissions with AuthZForce GE. 
// only compatible with oauth2 tokens engine
//
// you can use custom policy checks by including programatic scripts 
// in policies folder. An script template is included there
config.azf = {
  enabled: true,
  protocol: 'http',
  host: 'localhost',
  port: 8080,
  custom_policy: undefined // use undefined to default policy checks (HTTP verb + path).
 };

 // list of paths that will not check authentication/authorization
 // example: ['/public/*', '/static/css/']
 config.public_paths = [];

 config.magic_key = 'undefined';

 module.exports = config;

Журналы IDM:

fiware-idm_1  | GET                                                
/user?access_token=7cb25729577c2e01dc337314dcd912ec981dc49b 401 4.445 ms -  116

fiware-idm_1  | Executing (default): SELECT email, 'user' as Source FROM  
user WHERE email='pep_proxy_edf60435-7de7-4875-85a9-cf68b8838b8c'
fiware-idm_1  |                  UNION ALL
fiware-idm_1  |                  SELECT id, 'pep_proxy' as Source FROM    
pep_proxy WHERE id='pep_proxy_edf60435-7de7-4875-85a9-cf68b8838b8c';
fiware-idm_1  | Executing (default): SELECT `id`, `password`,    
`oauth_client_id` FROM `pep_proxy` AS `PepProxy` WHERE `PepProxy`.`id` = 
'pep_proxy_edf60435-7de7-4875-85a9-cf68b8838b8c';
fiware-idm_1  | Executing (default): INSERT INTO `auth_token` 
(`access_token`,`expires`,`valid`,`pep_proxy_id`) VALUES ('a0d54a6f- 
8461-4000-bb80-5fb60193bcb4','2018-05-04 
11:45:21',true,'pep_proxy_edf60435-7de7-4875-85a9-cf68b8838b8c');
fiware-idm_1  | POST /v3/auth/tokens 201 13.733 ms - 74

person Igor    schedule 04.05.2018    source источник
comment
Я только что удалил ваши данные для входа, надеюсь, все в порядке   -  person roNn23    schedule 04.05.2018
comment
Вы используете неправильный токен и ждете соответствующего сообщения? Является ли неправильный токен в правильном формате? Какова цель использования неправильного токена? знак равно   -  person Dalton Cézane    schedule 07.05.2018
comment
Да, я использую неправильный токен и жду правильного сообщения, цель - проверить и увидеть ответ, когда предоставляется неправильный токен. Формат токена правильный, я менял только одну букву на другую. Но даже они для более старой версии видео pep-proxy, которые вы можете увидеть, даже если вы наберете affaas для токена, вы должны получить сообщение о том, что токен недействителен или неверен ..... Вы можете видеть в журналах IDM, он сказал, что 401 ведьма ожидал, что он не сможет найти пользователя с этим токеном, но затем приступит к выполнению других действий, и я не уверен, почему.   -  person Igor    schedule 08.05.2018


Ответы (1)


Ошибка «SyntaxError: неожиданный токен u в JSON в позиции 0», как указано здесь, вероятно, связано с некоторым местом в коде, где JSON.parse вызывается с параметром undefined. Вы получаете это сообщение, потому что ошибка не была обработана должным образом и создается исключение (исключение не обработано).

В гитхабе Wilma PEP Proxy мы видим последние изменения в коде, и мы можем предположить/вывести, откуда эта ошибка.

Я думаю, вы можете открыть вопрос на github.

person Dalton Cézane    schedule 09.05.2018
comment
Спасибо за ваш вклад, я продолжу и открою проблему на github. - person Igor; 11.05.2018
comment
Если вы считаете, что ответ помог, вы можете отметить его. С уважением. - person Dalton Cézane; 14.05.2018
comment
Привет, Далтон, твой вопрос помог. Я просто хотел посмотреть, есть ли проблемы на моей стороне, и я пошел и попытался настроить более старую версию pep и idm. И у меня возникла аналогичная проблема, также я пытаюсь настроить их, используя ваше руководство, ведь оно было очень ясным, но все еще та же проблема и проблема. Ошибка, которую я получил в более старых версиях, такая же, как описано здесь -with-https" title="fiware, как подключить прокси-сервер pep к orion и настроить оба с помощью https"> stackoverflow.com/questions/49360026/ Теперь на данный момент я не понимаю, в чем проблема, потому что это наверняка с моей стороны, у вас есть какое-то предложение или идея, где искать или что-то в этом роде. - person Igor; 16.05.2018
comment
Я все еще думаю, что проблема в коде Wilma. =) Где-то там нужна хорошая обработка исключений... - person Dalton Cézane; 16.05.2018
comment
У вас есть мнение о текущей версии кода Wilma, я открою вопрос на github, когда найду время, а как насчет использования более старой версии pep-proxy и idm (с использованием Horizon и Keystone), это жизнеспособно или нет? - person Igor; 16.05.2018
comment
Как только целью прокси-сервера PEP является разрешение только авторизованного доступа, и эта ошибка не затрагивает этого, то есть PEP даже с этой ошибкой разрешает только авторизованным токенам получать доступ к вашей службе, я бы продолжал использовать последние версии. В старых версиях может быть еще больше ошибок. Более сложная проблема была бы, если бы PEP разрешал недействительным токенам доступ к вашей защищенной службе, а я думаю, что это не так. - person Dalton Cézane; 16.05.2018