2012-06-18 2 views
4

문제

example.com, example.org 및 example.net이 있다고 가정 해 봅니다.동일한 로그인 투명한 로그인 절차를 사용하는 여러 사이트 교차

이러한 사이트에는 모두 동일한 사용자 자격 증명을 기준으로 인증하는 로그인 정보가 있습니다.

사이트 한 곳에서만 로그인 할 수 있지만 사이트 사이트에 투명하게 로그인 할 수있는 효율적인 방법을 찾고 있습니다.

내 현재 솔루션
... (I 메인 사이트를 호출) 사이트 중 하나에 리소스를로드하는 iframe이를 가진 사용자가 기본 사이트에 로그인 한 경우를 사용하여 페이지를 새로 고침한다 토큰을 사용하고 일부 JavaScript를 통해 자동으로 사용자에 로그인합니다.

그러나 이것은 여러 가지 이유로 정말 ineffecient 및 안전하지는 않습니다

  • 사용자는
  • 사용자가 일부 클라이언트 측 코드를 사용하여, 자신의 페이지를 새로 고침 할 필요가 기본 사이트에 로그인 할 필요는 (나는 알고 있어요 이것을 피할 수 없을 수도 있습니다).
  • iframe을 사용하는 것은 일반적으로 눈살을 찌푸 죠. 심지어 일부는 브라우저 플러그인으로이를 막습니다. 내가 하지
    을 찾고이 타사 웹 사이트에 등록 내 사용자가 필요로 내가 페이스 북, 구글이나 오픈 ID 공급자와 같은 일부 타사 공급자를 사용에 관심이 아니에요있어 어떤

내 서비스를 사용합니다.

특정 질문
그냥 구글, 심지어 StackOverflow의 등을 합산, 사이트 인증의 과정은 내가 비슷한 뭔가가 필요 투명 보인다. 현재 솔루션의 더 나은 옵션은 무엇입니까?

+1

OWN openID를 얻는 방법은 무엇입니까? –

+0

또한 다음을 참조하십시오 : http://stackoverflow.com/questions/44509/single-sign-on-across-multiple-domains –

+0

@BenjaminGruenbaum 자신의 OpenID 공급자를 처리하는 것이 그렇게 간단하지 않고 JanRains 비 대한 해결책, 아무도는 PHP를위한 최신 해결책을 창조 한 것을 보인다. – Repox

답변

3

기본적으로

, 모든 로그인 .... 나는 코드를 공유 할 수 없습니다 ...하지만 내가 관여 구현 된 솔루션은 중간 사람이 우리가 SSO 브로커라는 내 모든 사이트 ...에 대한 인증을 처리하기 위해 요청은 SSO 브로커를 통해 이동하며, siteb에 액세스하려고 시도 할 때 이미 sitea에 로그인했는지 여부를 결정합니다. http://www.jasny.net/articles/simple-single-sign-on-for-php/

다른 SSO 솔루션 모두가 너무 자신의 자리를 가지고 있지만, 일부는 필요한 것보다 더 복잡 :

는 ... 우리가 그것을 구현 어떻게에 대한 당신을 가리킬 수 있습니다 옷장입니다.

다른 간단한 접근법은 서로간에 (보안 틱) 토큰을 전달하는 것입니다.

+0

exampe.com에서 example.org로 이동할 때 사용자가 로그인 할 필요가 없으면 어떻게 될까요? 나는 사용자가 여전히 example.org에 사용자 이름과 암호를 입력해야한다고 생각하지만 공용 OpenID 서버에서 확인할 수 있습니다. – HaBo

+0

@HaBo jasny 코드를 사용해 보셨습니까? 올바르게 작동하는 것 같습니다. – kojow7

관련 문제