1

우리는 사람들이 Facebook에 대한 게시물을 예약 할 수있는 제품을 가지고 있습니다. 12 월 5 일에 scheduled to be removed 인 오프라인 액세스 권한을 사용했습니다.오프라인 액세스와 관련된 2012 년 12 월의 변경 사항을 어떻게 테스트 할 수 있습니까?

우리는 올바른 60 일 세션 확장 논리를 구현했지만 테스트하는 데 어려움이 있다고 생각합니다.

우리는 새로운 테스트 Facebook 응용 프로그램을 만들고 "2012 년 12 월 주요 변경 사항"마이그레이션 설정을 활성화했습니다. 새 사용자가 새 애플리케이션을 승인합니다 (여전히 offline_access 권한을 요청합니다). 그런 다음 expires 매개 변수없이 동일한 세션 토큰을 반환하는 세션을 확장합니다. Access Token Debugger을 사용할 때 토큰이 만료되지 않는다고 말합니다.

offline_access 권한을 통과하지 않고 인증을 시도했지만 5760 (4 시간)을 초과하여 만료되지 못하여 계속 전달해야하는 것처럼 보입니다.

우리는 변경 내용을 테스트하고 싶어하지만 세션이 만료되어 계속 확장되어야하는 시나리오는 만들 수 없습니다. 어떻게 테스트 할 수 있습니까?

답변

1

해결 방법은 두 번째 마이그레이션 설정 인 "offline_access 권한 제거"도 사용 설정해야한다는 것입니다."2012 년 12 월 주요 변경 사항"마이그레이션 설정을 사용하도록 설정 한 경우에만 응용 프로그램에서 60 일 세션 토큰을 얻을 수 있습니다.

기존의 만료되지 않는 세션 토큰을 즉시 60 일 만료 토큰으로 변환하는 불행한 부작용이 있습니다. 페이스 북은 존속하지 않는 기존의 토큰을 계속해서 존중할 것이라고 말했지만, 두 가지 설정 모두 가능해야한다는 가정하에, 애플리케이션은 모든 사용자를 60 일 토큰으로 취급해야한다.

1

예, 이전에 테스트 해 보았습니다. 아래는 Debugger과 브라우저를 사용하여 60 일 토큰을 테스트하는 단계입니다. 이러한 호출을 앱에 적용하고 일부 서버 측 기록을 사용하여 토큰을 디버거에 복사하여 붙여 넣어 토큰의 만료 날짜를 확인할 수 있습니다.

먼저 offline_access을 요청하지 마세요.

액세스 토큰을 얻으려면 Graph API Explorer을 사용하십시오. 앱에 Application:을 설정합니다. 다음은, 내 응용 프로그램이 호출 ES1 :

enter image description here

는 "디버그"버튼을 클릭하고이 확인 (당신 만이 '응용 프로그램'목록에 표시됩니다에 대한 관리자 또는 개발자 애플 리케이션) 단명 한 토큰 :

enter image description here

참고 : 이전 스크린 샷 없음 offline_access 파마.

수명이 짧은 토큰을 교환하려면이 호출을 수행하십시오. 브라우저에 붙여 넣기 만하면됩니다. 토큰 교환

https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=APPID&client_secret=APPSECRET&fb_exchange_token=SHORT_LIVED_TOKEN

결과 : 앱의 코드이있을 것이다

enter image description here

당신이 60 일 후에 만료 확인하기 위해 디버거에서이 새로운 토큰을 붙여 넣을 수 있습니다 :

enter image description here

그래서, 바로 위의 인트 변환 ps를 앱에 넣고 토큰을 로깅 한 다음 Debugger으로 토큰을 확인하십시오.