2014-08-28 3 views
2

그래서 내 응용 프로그램을 SimpleSAMLphp와 통합하려고합니다.Simplesamlphp - 내 응용 프로그램과 통합 할 때 simplesamlphp 페이지에 붙어 있습니다.

나는 구성 IDP해야하고 나는 내 응용 프로그램과 통합 할 때 그들은 모두 후,

(나는 "테스트 구성 인증 소스"경유하여 simplesamlphp 관리자 페이지에서 테스트 할 수 있습니다) 잘 작동하지만,있어 IdP가에 loggin에, 나는 simplesamlphp 페이지 이와 같이

에 박히 : 나는 열

  1. 내 응용 프로그램

  2. 내 응용 프로그램에서 requireAuth를 호출하여 simplesamlphp 페이지로 리디렉션합니다. 사용하려는 IdP를 선택할 수 있습니다.

  3. IdP 하나를 선택합니다. IdP 페이지로 리디렉션됩니다. 성공적으로 로그인했습니다.

  4. IdP가 simplesamlphp IdP 선택 화면으로 다시 연결됩니다. 내 응용 프로그램을 열면이 동일한 페이지로 리다이렉트되기 때문에 나는 여기에 갇혀있다.

누군가 내가 뭘 잘못하고 있는지 알고 있습니까? 나는 그것이 구성 문제라고 생각하지만 어느 것이 될 수 있는지 전혀 모른다. 또한 isAuthenticated 함수는 항상 false를 반환합니다.

여기 내 응용 프로그램 코드

<?php 
require_once ('/var/simplesamlphp/lib/_autoload.php'); 

$as = new SimpleSAML_Auth_Simple ('default-sp'); 

if ($as->isAuthenticated()) { 
    die ('ok'); 
} else { 
    $param = array (
    'ReturnTo' => 'http://teste.localhost' 
); 
    $as->requireAuth ($param); 
} 

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

답변

0

당신은 SimpleSAMLphp에서 설정/config.php 파일에서 'session.phpsession.savepath'옵션을 선택해야합니다. 이 값이 응용 프로그램의 세션 저장 경로와 일치하지 않으면 IdP가 다시 리디렉션되고 SimpleSAMLphp가 로그인을 인식하지 못하여 세션 ID가 변경되어 다시 인증을 시도합니다. 또 다른 빠르고 낫지 않은 수정은 php.ini에서 session.auto_start를 1로 설정하는 것이지만, 반대 의견을 제시합니다.

관련 문제