포럼
괜찮은 방법 없을까요?
2011.01.12 14:41
allianceXE 개발 도중 엄청난 문제점과 맞닿게 되었습니다.
로그인 연동 기능을 구현중인데 무척 머리 아프네요.
로그인에 성공하면 로그인 요청을 보내게 되는데 서버 IP로 접속해버려서
정작 해당 PC에서는 로그인이 안되버리네요.
cURL 라이브러리를 사용해서 IP를 바꿔서 요청을 보내려고 하니까 안되더라고요.
아무래도 사용하고 있는 IP라서 그런 것 같은데요.
쉽게 가능하다면 이걸로 해킹도 가능하겠죠 ㄷㄷ;;
그래서 다른 방법을 고민하고 있는데 마땅히 좋은 생각이 떠오르지가 않네요.
무슨 좋은 방법이 없을까요?
댓글 7
-
CEditor
2011.01.12 15:05
-
SMaker
2011.01.12 15:16
왜 이 방법을 생각하지 못했을까요!
감사합니다 ㅎㅎ
-
misol
2011.01.12 19:31
사용자가 서버끼리 주고받은 토큰값과 동일한 정보를 갖고 있는지 확인하면 되겠지요^^; -
SMaker
2011.01.13 13:45
뭔가 다른 방법을 고민해봐야할 것 같습니다.
서로 다른 도메인간에는 쿠키를 공유되지 않아 로그인 동기화가 불가능합니다.
xe.com
a.xe.com
b.xe.com
이런 식의 서브 도메인을 가진 사이트끼리는 동기화가 되긴 합니다만;;
-
misol
2011.01.13 16:14
자바스크립트 변수로 받아서 요청하면 될거에요.
공통으로 스크립트 파일을 받아오는 도메인 하나를 만들어서.. 자바스크립트 API처럼 쓰는거죠.. 그냥 예를 들어 설명해볼게요.
ex1.com은 인증을 담당하는 메인입니다. ex1.com에는 인증 관련 정보가 저장되어있고, 스크립트 파일도 보내줍니다.
ex1.com/logon.js라는 파일을 모두 공통 삽입했다고 해요.
ex1.com/logon.js파일은 처음에 ex1.com에 로그인 정보를 요청해요(여기서 스크립트가 삽입된 URL정보를 포함해서 보내요.). ex1.com의 스크립트니 ex1.com의 쿠키를 사용할 수 있습니다. ex1.com의 서버는 쿠키를 확인하고 인증 확인을하고 키를 줘요.(쿠키를 사용하지 않을 수도 있어요. 그치만, 같은 도메인간이니 쿠키도 사용 가능하다는 것입니다.)
ex1.com의 서버는 키를 주기 전에 전송 받은 URL의 서버로 인증 정보를 넘겨줘요.(서버간 통신)
이제 ex1.com으로 부터 인증키를 받은 클라이언트, ex1.com/logon.js는 스크립트가 삽입된 사이트(예로 mysite.com이라 합시다.) mysite.com에 키를 전송해요. 쿠키는 호환이 안되지만, 변수로 주고받고 하는정도는 어떻게 할 수 있을거에요.. (구글 지도 API 같은 것을 다뤄보다 보면 되더군요..)
그렇게 변수로 이리저리 한 키를 mysite.com에 전송하면 mysite.com의 서버는 ex1.com의 서버로부터 받은 키와 비교해요. 비교해서 일치하면 인증 처리를 해줘요. 그리고 그 정보를 ex1.com의 서버에 먼저 보내요. 그러면 ex1.com은 이 정보를 기록하고 처리해요. 이후에 ex1.com이 승인하면 mysite.com은 클라이언트를 인증해주고 키를 보내요. 그러면 땡!???
이렇게 하면 안되나요?
-
난다날아
2011.01.14 20:19
jsonp에 대해 찾아 보시고 그걸 이용하면 될련지 고민해 보세요. 어떻게든 가능할 것 같긴 한데요. jsonp를 이용하면 크로스 도메인 간에 정보 공유가 가능합니다. jQuery에서 jsonp를 지원합니다. jQuery document에서 json() 부분을 살펴보세요
-
SMaker
2011.01.14 21:31
한 가닥의 희망이 보이네요!
하지만 로그인 위젯 스킨을 수정해야 하는 번거로움이 생길 것 같네요.
그렇지 않다면 로그인 후 callback 함수를 가로채야되는데 스킨이나 코어 버전에 따라 문제가 생길 수도 있고요.
A, B, C 사이트가 서로 동맹을 하면 A에서 로그인을 하였을 때 B, C에서도 로그인이 되어야 한다는 말인가요?
저라면 A에서 로그인을 할 경우 A사이트의 토큰, 인증값들을 쿠키로 만들어놓구 B, C에 접속하였을 때~
애드온이 쿠키 캐치해서 대조 한 다음 A에 이 값을 토대로 인증을 요청하고 맞다면 로그인 처리.
각 동맹사이트들의 토큰값 공유는 동기화로~_~
ps) A사이트 회원이 B에 글을 남겼을 때 포인트는 어떻게..?? 여차하면 매우 무거워지겠는데요.