2012-05-21 2 views
3

나는 offline_access를 사용하는 응용 프로그램을 가지고 있습니다.페이스 북의 서버 쪽 액세스 토큰을 정상적으로 확장하기

우리는이 API를 통해 백엔드없이 상호 작용할 때 사용자의 페이스 북 벽에 메시지를 게시하기 위해이 권한을 사용합니다. 우리는 iPhone, Android, Blackberry 및 Nokia 전화에 여러 가지 모바일 응용 프로그램을 연결하여 응용 프로그램에 연결할 수 있으며 하드웨어 장치와 인터페이스하는 데스크톱 응용 프로그램도 있습니다. 이러한 응용 프로그램을 사용하면 백엔드에서 페이스 북, 그러나 웹 사이트 만이 사용자가 페이스 북으로 초기 승인을 할 수 있도록합니다.

서버 측 인증을 사용하면 60 일 긴 토큰을 얻을 수 있으며 새로운 토큰을 얻는 유일한 방법은 사용자가 암호를 변경하지 않은 것으로 가정하고 페이스 북에 로그인 한 후 인증 프로세스를 다시 실행하는 것입니다. 응용 프로그램이 일련의 자동화 된 리디렉션으로 표시 될 것입니다.

다른 방법이 있습니까? 예를 들어, fb_exchange_token은 정확히 무엇을합니까? 이 경우 적용 할 수 있나요, 아니면 자바 스크립트 API를 통해받은 토큰에만 적용됩니까?

네이티브 페이스 북 API를 통합하는 것 이외에도 웹 사이트가 아닌 사용자 인터페이스를 위해 할 수있는 일이 있으며 웹 사이트와 동일한 작업을 수행합니까?


fb_extend_token을 사용하려는 시도는 거의 효과가 없었습니다. 표준 인증을 재실행하면 같은 토큰을 반환했지만 60 일의 유효 기간 만 남았습니다. 잠깐 후에 다시 토큰을 확장하지 않았습니다. 나는 이것이 내가 토큰 당 한번씩 할 수 있다는 것을 의미한다.

답변

2

나는 서버 측 흐름을 사용하고 있었기 때문에 사용자가 키를 볼 수 없었기 때문에 내 응용 프로그램 토큰을 사용하기 위해 응용 프로그램을 약간 재 작업 할 수있었습니다. 이러한 키는 앱에 속하며 권한을 취소하지 않는 한 사용자를 대신하여 API를 사용할 수 있습니다. 사용자 인증 토큰은 만료 될 수 있지만 사용자가 허용 한 앱에서 앱을 명시 적으로 제거하지 않은 경우 토큰이 계속해서/user/URL,/me를 사용하여 벽에 게시 할 수 있습니다/토큰이 앱에 바인딩되어 있기 때문에/URL이 작동하지 않습니다.

+0

유효 기간이 60 일이라면 유효합니까? 사용자 대신 "/ me"에 게시하려고하기 때문에 문제가 해결되도록 노력하고 있습니까? –

+0

당신이 무엇을 요구하는지 모르십니까? 응용 프로그램 토큰을 사용하면 실제로 사용자가 서버 측 인증 프로세스를 수행 할 때 얻을 수있는 토큰의 만료 시간을 단축 할 수 있습니다. 이 토큰을 사용하여 사용자의 벽에 게시하려면/토큰이 60 일 후에 만료되며 토큰을 확장하려면 사용자가 다시 프로세스를 진행해야합니다. 애플리케이션 토큰을 사용하고 토큰이 만료되지 않는/user/URLs에 게시하는 경우. 사용자가 권한을 취소하지 않는 한 계속 사용할 수 있습니다. 주주의 사항은이 토큰을 비밀로 유지해야한다는 것입니다. – Sloloem

1

offline_access의 비추천이 완료되면 액세스 토큰을 얻거나 교환하는 것이 필요한 것을 수행하는 유일한 방법이라고 생각합니다.

사용 중단되기 전에 오프라인 액세스 권한이있는 사용자는 평소와 같이 60 일 동안 정상적으로 응용 프로그램을 사용할 수 있습니다. 이 기간이 끝나면 사용자를 다시 승인하고 60 일 동안 액세스 토큰을 연장해야합니다. 이렇게하려면 로그인하고 앱을 승인해야합니다 (필요한 경우). 그런 다음 fb_exchange_token을 사용하여 액세스 토큰을 확장하므로 60 일 동안 양호합니다.

나는 그것을 보았 겠지만, 모두 this 문서, 특히 이전에 offline_access를 사용하는 것에 관한 섹션에 설명되어 있습니다. 나 또한 this 게시물이 업그레이드를하는 데 유용하다는 사실을 발견했습니다. Here은 유효하지 않은 토큰을 처리하는 방법을 자세히 설명하는 또 다른 링크입니다.

+0

정규 백엔드 플로우를 통해받은 토큰은 60 일 동안 유효합니다. fb_exchange_token을 요청하면 그 토큰이 전혀 변경되지 않으므로 카운팅 다운 시간이 만료 될 수 있습니다. 내 테스트 응용 프로그램에서 활성화 된 마이 그 레이션을 가지고 있으므로, 일단 그들이 완전히 허가를 끌어 이러한 행동을 신뢰할 수 있습니까? fb_exchange_token에 대한 좋은 문서를 찾을 수 없으므로 수명이 긴 토큰을 교환하기 위해 클라이언트 측 흐름에서 사용했을 가능성이 높습니다. 서버 측 흐름으로 인증 했음 – Sloloem

+0

토큰을 확장하면 이미 60 일로 설정되어 있으므로 아무 것도하지 않습니다. offline_access 권한을 통해 현재 획득 한 토큰이 있다고 가정합니다. FB는 오프라인 액세스를 준비하기 위해이 시간을 영원히에서 60 일로 줄입니다. 새로운 단 수명 토큰을 얻은 경우에만 60 일로 연장 할 수 있습니다. 워드 프로세서 : 이 –

+0

spoonybard896 @ "당신은 여전히 ​​유효 수명이 긴 access_token이 새로 고침하려는 경우, 먼저 access_token은 새로운 단명 한 사용자를 얻을 수있을 것이다"- 이제 나는 60 일 액세스 토큰이 있다고 가정 해 봅시다 . 우리는 59 일째입니다 - 내일 토큰이 만료됩니다. 사용자에게 자동 이메일을 보내서 다시 로그인합니다. 액세스 토큰의 수명을 연장 할 수 있습니까? 지금 시도해 보았지만 동일한 액세스 토큰을 반환하지는 않습니다. 따라서 완전히 다른 액세스 토큰을 얻을 수 있습니까? (새로운 단명 한 사람, 나는 60 일로 변환한다)? FB.Login은 항상 만료되지 않은 기존 액세스 토큰을 반환합니다. 고마워. – Wesley

관련 문제