2010-05-04 5 views
8

테이블이 "users"이고 내 방문자가 오픈 아이디 계정으로 로그인 할 수있게하고 싶습니다. 이를 위해 OpenId Component for Cakephp을 사용하고 잘 작동합니다 (Google URL로 로그인하면 "성공적으로 인증되었습니다!"라는 메시지가 나타납니다).오픈 아이디와 사용자 인증이 포함 된 Cakephp

그러나 나는 거기에서 어떻게 나아갈 지 모르기 때문에 지금 막 달라 붙었습니다.

  • "oid_associations"테이블에 새 항목이있는 모든 사용자에 대해 User-Entry를 만들어야합니까 (mysql 데이터베이스의 모든 OpenId 상호 작용을 저장합니까)?
  • 로그인 후 사용자를 인증해야합니까 (아니면 자동으로 수행하는 OpenID 구성 요소입니까?).
  • 개념을 완전히 오해하고 있습니까?

답변

7

아니요, "oid_associations"테이블에 액세스 할 필요가 없습니다.이 테이블은 OpenID 라이브러리에서만 사용되는 테이블입니다.

대신 새 사용자인지 확인하려면 identity_url을 사용할 수 있습니다. 그렇다면 "사용자"테이블에 항목을 만들 수 있습니다. 예를 들어 (당신의 "사용자"테이블은 "오픈 ID"열이 가정) :

$response = $this->Openid->getResponse($returnTo); 

if ($response->status == Auth_OpenID_SUCCESS) { 
    $user = $this->User->findByOpenid($response->identity_url); 
    if ($user) { 
     // existing user 
    } else { 
     // new user -> create user entry in the database 
    } 
} 

내가 제대로 두 번째 질문을 이해 모르겠어요. 누군가 OpenID로 로그인하고 Auth_OpenID_SUCESS 응답을 받으면이 사용자는 성공적으로 인증되었음을 의미합니다. 애플리케이션에서이 정보를 사용하는 방법은 귀하에게 달려 있습니다.

이 질문에 대한 답변을 바랍니다.

+0

정말로 도움이되어 주셔서 감사 드리며 현재 사용자 인증 방법도 각각 이해하고 있습니다. –

관련 문제