2011-12-02 2 views
0

스팀 오픈 아이디를 사용하여 사용자 관리 시스템을 만들려고하고 있지만 테이블이 어떻게 보이는지 잘 모르겠습니다. 필자는 일반적인 사용자 ID, 사용자 이름 및 암호를 포함하는 기본 사용자 테이블을 갖는 데 익숙합니다. 그렇다면 사용자가 로그인했는지 확인하는 쿠키를 사용합니다. 나는 스팀 핀 ID를 사용하여 이것을하는 방법에 대해 완전히 확신하지 못합니다.스팀을 사용하는 사용자 데이터베이스 OpenID

로그인 및 확인을 완료했지만 아직 데이터베이스가 작동하지 않는 것으로 나타났습니다. 로그인에 성공하면 사용자 SteamID를 반환합니다. 안전한 사용자 시스템을 만들려면 어떻게해야합니까?

나는 steamid 자체가 존재하지 않으면 사용자 이름을 등록 할 수있는 새로운 페이지로 사용자를 리다이렉션 할 생각 이었지만, 사용자가 steamid만을 사용하지 않고 로그인했는지 어떻게 확인할 수 있습니까?

+0

OpenID는 사용자의 이름과 같은 사용자 데이터를 요청할 수 있으며 이메일입니다. 아마도 첫 번째 항목에 익숙해 져있을 것입니다. http://openid.net/add-openid/ – hakre

+0

스팀 OpenID는 실제로 openid가 아니며, 그것이 그렇다고 답합니다. – Kraffs

+0

사용자 프로필 테이블에 steamid가 포함 된 항목을 만듭니다. 스팀이있는 사용자는 스팀을 통해 로그인 할 수 있습니다. 어떤 shema가있는 나의 응답을보십시오. – hakre

답변

0

두 개의 인증 공급자가 있습니다. 하나는 자체 사이트 또는 다른 하나는 스팀에서 제공 한 것입니다. openid 인증을 사용하는 계정의 경우 openid 인증을 옆에 저장해야하므로 누군가 openid 공급자를 통해 사이트에 로그인하면 사이트의 실제 사용자를 알 수 있습니다.

당신 세션은 항상 사이트의 사용자 ID에 연결되어 :

[login] 
     | 
[authentication] 
     | 
     \-----+--> [openid auth] ---> [steam id] --\ 
      |         | 
      \--> [site user auth] ------> [site user id] 
                | 
               [session] 
+0

그리고 사용자가 로그인했는지 확인하려면 스팀 아이디가 사용자 세션에 있는지 확인하십시오. – Kraffs

+0

아니요, 세션은 세션이 어떤 사용자를 나타내는 지 알고 있으므로 사용자가 로그인했는지 확인하기 위해 세션을 조사하여 사용자를 얻습니다. 그런 다음 steamid가 사용자와 관련되어 있으면 데이터베이스에서 조회 할 수 있습니다. – hakre

1

기본적으로 다른 로그인 시스템과 같습니다.

회원님은 로그인에 대한 책임을지지 않습니다. 하지만 네가 말하는 것처럼. ID를 확인한 후에는 자신의 사용자 데이터베이스에 ID가 존재하는지 확인하고 그렇지 않은 경우 ID로 작업하고 "프로필 작성"로그인으로 리디렉션하십시오.

+0

하지만 사용자가 로그인했는지 어떻게 확인합니까? 쿠키에 사용자 ID를 저장하면 쉽게 스푸핑하고 다른 사용자로 로그인 할 수 있습니다. – Kraffs

+0

다른 회원 웹 사이트와 마찬가지로 세션을 사용하여 로그인 상태를 유지해야합니다. –

+0

클라이언트가 세션을 편집 할 수 있습니까? – Kraffs

관련 문제