2011-03-30 5 views
1

누군가가 제게 도움이 될 수 있습니까?LightOpenId가 ​​로그인 페이지로 리디렉션하지 않습니다.

문제는 단지 URL에 쿼리 문자열을 첨부한다는 것입니다. 페이지에 Google 로그인이 없습니다!

http://domain.nl/controller/function?action=verify&openid_identifier=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid 

5 월 그것은 내가 mvc 디자인과 htaccess 파일을 사용하는 것과 같은 구체적인 것입니다.

해결책이 현재 나에게 명확하지 않습니다.

올바른 방향으로

감사, 리처드 컨트롤러에서

.... 날이

public function openid(){ 

     try { 
    $openid = new LightOpenID; 
    if(!$openid->mode) { 
     if(isset($_GET['action'])) { 
      $openid->identity = 'https://www.google.com/accounts/o8/id'; 
       //$openid->identity = 'https://www.google.com/accounts/o8/site-xrds?hd=YourDomain.in'; //this can be changed as you know... 
      header('Location: ' . $openid->authUrl()); 
     } 
/*<form action="?login" method="post"> 
    <button>Login with Google</button> 
</form>*/ 

    } elseif($openid->mode == 'cancel') { 
     echo 'Gebruiker heeft authenticatie geannuleerd!'; 
    } else { 
     echo 'Gebruiker ' . ($openid->validate() ? $openid->identity . ' heeft ' : 'heeft niet ') . 'ingelogd.'; 
    } 
} catch(ErrorException $e) { 
    echo $e->getMessage(); 
} 

    } 

답변

1

폼 포인트가 리디렉션처럼 보이는 기능입니다 지적하시기 바랍니다 작동하지 않습니다. $openid->authUrl()이 올바른 값을 반환하는지 확인하십시오. 그렇다면 문제는 LightOpenID와 아무 관련이 없습니다.

header('X-XRDS-Location: https://www.google.com/accounts/o8/site-xrds?hd=your.domain'); 

그렇지 않으면 확인이 실패합니다 : 당신이 구글에서 인증을 사이트 xrds를 사용하려는 경우 또한

, http://your.domain/openid에 의해 반환 된 문서의 다음 헤더를 포함해야합니다.

관련 문제