2010-03-07 3 views
2

나는 토요일 전체를 소모하여 Google을 소모했습니다. 진지한 좋은 운명은 도울 수있는 누구에게나 속한 것입니다.유효한 오프라인 액세스 키 (무한 세션 키)를 기반으로 Javascript Facebook Connect 세션 만들기

페이스 북에서 내 사용자를 인증하기 위해 .NET Facebook 툴킷 V3을 사용하고 있습니다. 사용자가 offline_access 권한을 부여하면 세션 키를 저장합니다. 그들이 페이스 북 세션없이 (그러나 내 웹 애플 리케이션을위한 유효한 세션으로) 나중에 돌아올 때.

나는 데이터베이스에서 키를 잡고 난 그렇게처럼 Facebook.Session에 적용 :

facebookAPI.Session.SessionKey = offlineAccesSessionKey; 
    facebookAPI.Session.UserId = (long)fuid; 

작품 마법처럼. 나는 자바 스크립트 API 및 FBML이 무한 세션 키를 어떻게 사용합니까

:

지금 여기 문제입니까?

세션 키를 클라이언트 측에 전달할 수 있지만 그 다음은 무엇입니까? getAuth? set_session? 작동하지 못하게하고, 시도해보고, FBML 사용에 도움이 될지 확신 할 수 없습니다.

facebookAPI.Auth.Session.UserId = (long)fuid; 
    facebookAPI.Auth.Session.SessionKey = offlineAccesSessionKey; 
    facebookAPI.Auth.Session.SessionSecret = _facebookAPI.Session.SessionSecret; 
    facebookAPI.Auth.PromoteSession(); 

는이 쿠키를 복사 할 것이라고 기대, 나는 클라이언트 측에서 그들을 데리러 수 있지만 운 :

이 시도하지했습니다.

꽤 일반적인 상황 인 것처럼 보이지만 제 "전문가"Google 기술은 0이됩니다.

누구에게 도움이 될만한 경험이 있습니까?

+0

저장할 수있는 무한 세션 암호가 있습니까? 나는 그것이 양방향 키 (심지어 무한한 키)라고 생각했다. – Doug

답변

0

페이스 북의 JS API는 내가 사용하고있는 시간에 맞춰 자체 세션을 생성합니다 (잘못된 경우 수정). 이 세션은 임시이므로 서버에서 토큰을 사용하여 작동하지 않습니다.

당신이 할 수있는 일은 (무한) 토큰과 함께 데이터베이스에 uid를 저장하는 것입니다. 그런 다음 JS API를 사용하여 클라이언트에서 uid를 가져 와서 서버로 보낸 다음 데이터베이스에서 토큰을 검색 할 수 있습니다. 그런 다음 사용자를 대신하여 정상적인 서버 측 연결을 수행 할 수 있습니다.

도움이되기를 바랍니다.

관련 문제