Проверка подписи OIDC

$sth = mysqli_query("SELECT ...");
$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
    $rows[] = $r;
}
print json_encode($rows);

Для функции json_encode требуется PHP> = 5.2, а пакет php-json - здесь здесь

ПРИМЕЧАНИЕ : mysql устарел с PHP 5.5.0, используйте расширение mysqli вместо http://php.net/manual/en/migration55.deprecated.php .

0
задан Kamran Feroz 11 March 2019 в 13:21
поделиться

1 ответ

Отметьте о малопонятном жаргоне OIDC

  • , Поставщик OpenId (OP) походит на Надежду стороны (RP) SAML2 IdP
  • , походит на SAML2 SP

, я знал то, что Вы отсылали к тому, когда Вы записали "IdP" и "клиент", но я хочу упомянуть, что Вы будете обычно видеть OP и RP, используемый для документации OIDC / обсуждения.

Контекст и предложения

коммерческий RP Вы тестируете с состояниями, которые приводит к сбою проверка подписи идентификационного Маркера (т.е. JWT). Для специфического ответа на вопрос, нет, это не использование x509 сертификата от веб-сайта OP для проверки подписи. Ключ использование RP для проверки подписи будет зависеть от того, настроили ли Вы свой OP для подписания идентификационного Маркерного использования:

  • HS256 (алгоритм с симметричным ключом); или
  • RS256 (алгоритм с асимметричным ключом)

взгляните на принятый ответ на этом потоке для контекста: RS256 по сравнению с HS256: What' s различие?

В бывшем случае (HS256), Ваша OP подписывает идентификационный Маркер с закрытым ключом. И Ваш RP должен проверить подпись с помощью того же самого закрытого ключа. (NB: как Вы, вероятно, знаете, важно сохранить этот общий закрытый ключ безопасным и надежным.), Если это - Ваша среда, возможно, коммерческий RP имеет параметр конфигурации, который позволяет Вам загружать или скопировать/вставить в закрытом ключе.

В последнем случае (RS256), Ваша OP подписывает идентификационный Маркер с закрытым ключом, но Ваш RP проверяет подпись с помощью своего дубликата с открытым ключом. Если это - Ваша среда, возможно, коммерческий RP имеет параметр конфигурации определить "jwks_uri" и "ребенка". Они относятся к URI, что Ваш открытый ключ публикуется к, и его ключевой идентификатор, соответственно.

0
ответ дан ecs-hk 11 March 2019 в 13:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: