simpleSAML Удаленный пассивный вход - PullRequest
0 голосов
/ 30 октября 2018

Один из моих клиентов попросил меня разработать гибридное приложение для них, используя аутентификацию ADFS через протокол SAML 2. Чтобы сделать это, я установил на свой Debian 9 фреймворк simpleSAMLphp (http://simplesamlphp.org), который в основном является интеграцией php SAML. Я правильно создал доверие между моей службой и их провайдером идентификации.

Итак, я пытаюсь создать API в php, который бы в основном обрабатывал все мои сессии независимо от используемой платформы. Я внимательно следил за их документацией и застрял на какой-то хитрой теме, и мне не удалось найти подходящий ответ на нее.

Документация требует, чтобы я использовал функцию requireAuth (), чтобы проверить, аутентифицирован ли мой пользователь, и если нет, то возвращает целевую страницу IdP. Все это сделано для того, чтобы я мог анализировать атрибуты, возвращаемые аутентификацией, которые в основном были бы токенами, выданными сервером.

<?php
require_once('/var/simplesamlphp/lib/_autoload.php');
$as = new \SimpleSAML\Auth\Simple('default-sp');

$as->requireAuth();
$attributes = $as->getAttributes();
print_r($attributes);
?>

Но это поведение не совсем подходит для такого API, как мой. Поскольку я хочу, чтобы мои сеансы управлялись из моего API.

Я хочу сделать следующее:

  • Пользователь вводит свои учетные данные (почта и пароль) в пользовательской форме
  • Мы отправляем учетные данные моему API, которые отправляют запрос и анализируют его ответ
  • Показать или скрыть содержимое на основе ответа

Итак, мой вопрос заключается в следующем, возможно ли это? И если да, есть ли способ для меня управлять аутентификацией ADFS в PHP через запрос POST / GET, или XML, или что-то вроде этого?

Я искренне благодарен тем, кто найдет время, чтобы ответить на мою просьбу.

Хорошего дня.

1 Ответ

0 голосов
/ 30 октября 2018

хорошо, вы можете установить свой saml как SP и сделать так, чтобы логин был включен.

пример

1: user opens the aplications and choose to login is with saml.
2: he gets the saml sp that is configured with you application. he choose the company he wants to login as then he logs in.
3 if the login is approved you can redirect him back to your application and log him autmatic in.

Я использовал этот метод раньше (saml как sp), и он отлично работает.

Гудлак

...