내 사이트에서 몇 가지 기본 OAuth Facebook 로그인을 얻으려고합니다.ColdFusion/Railo로 이전 한 경우 세션이 설정되지 않았습니다.
사용자를 리디렉션하기 바로 직전에 세션 변수를 설정 한 다음 다시 사이트에 반환했는지 확인합니다.
페이스 북에 로그인하여 리턴 할 수 있지만, 일단 나는 세션 변수가 존재하지 않습니다.
전적으로 난처합니다!
lock scope="session" type="exclusive" timeout="30" {
session.source["state"] = createUUID();
}
// BUG?
// http://helpx.adobe.com/coldfusion/kb/missing-session-variables-using-cflocation.html
if (isDefined("session.source.state")) {
location(url="https://www.facebook.com/dialog/oauth?client_id=#application.fbappid#&redirect_uri=#application.fbredirecturl#&state=#session.source["state"]#&scope=email,publish_actions", addtoken="true");
}
재미 것은 session.source["state"]
페이스 북에 URL에 전달됩니다 ...입니다 ...하지만 반환에, 그것이 사라 졌 나타납니다 :이 코드를 살펴 보자!
이것은 정말 이상한 행동입니다.
자바 스크립트로 리디렉션하는 것은 옵션이 아닙니다. 서버 측이어야합니다.
누구나 단서가 있습니까? 나는 Railo를 사용하고있다.
감사합니다. Mikey.
첫째, 실제 생활에서 사용자가 페이스 북을 길게 읽으면 세션 시간이 초과 될 수 있습니다. 두 번째로, 세션 범위를 cfdump하여 실제 무엇이 있는지 확인하십시오. –
@DanBracuk 재배치가 발생하므로 리다이렉트가 예상대로 UUID를 보여주기 전에 세션이 정의되고 덤프됩니다. 나는 페이스 북에 10 초 이상 있지 않으며 세션은 30 분으로 설정된다. 또한 다른 세션 바는 여전히 웹 사이트의 다른 곳에서 작동합니다. 반환 할 때 세션을 덤프하는 것은 다른 vars를 표시하지만 리디렉션 전에 생성 된 것은 표시하지 않습니다. –
보안 (https) 서버에서 이러한 현상이 발생합니까? https://issues.jboss.org/browse/RAILO-2773 –