2012-06-27 2 views
0

만료가없는 액세스 토큰의 임박한 임박한 생각으로 누군가가 내 유일한 문제를 도울 수 있기를 바랍니다.offline_access가 더 이상 사용되지 않으므로 서버 측 인증을 어떻게 처리합니까?

나는 https://developers.facebook.com/roadmap/offline-access-removal/

를 둘러싸고있는 모든 문서를 읽었습니다 그리고 난 내 응용 프로그램이 완전히 다른 범주에 속하는 생각합니다. 우리는 페이스 북에 메시지를 거의 게시하지 않는 응용 프로그램을 가지고 있지만 (그 사이에 몇 년이 걸릴 수 있음) 게시가 중요합니다. 이러한 게시물은 Tomcat을 실행하는 JVM에서 시작되지만 반드시 사용자가 수행하는 것은 아닙니다. 사용자들이 https://graph.facebook.com/oauth/authorize?client_id=APP_ID&scope=publish_stream,manage_pages,offline_access&response_type=token&redirect_uri=MY_REDIRECT_URL

는 역사적으로 내 응용 프로그램이 다음 생성 된 액세스 토큰 (이 결코 만료)에 저장되는 브라우저를 사용하여 일반 서버 측 인증 절차를 통해 응용 프로그램의 자신의 버전을 설치

데이터베이스. 이제, offline_access 중단과 함께,이 액세스 토큰은 분명히

https://graph.facebook.com/oauth/access_token?client_id=AP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=OLD_SHORT_TOKEN

로 이동하여 60 일의 토큰으로 교환 할 수있는 수명이 짧은 토큰은 그래서 위의 URL로 이동하고 저장할 수있는 지금이다 장기 액세스 토큰이 반환되었습니다. 여태까지는 그런대로 잘됐다. 여기에 문제가 있습니다 ....

앞서 말했듯이 내 응용 프로그램은 수개월 또는 수년간 (즉, 60 일 토큰이 만료 된 후) 페이스 북에 게시하려고 시도하지 않을 수 있습니다. 설명서에 따르면 fb_exchange_token 옵션을 사용하여 60 일 토큰에 대해 수명이 짧은 토큰을 교환 할 수 있지만 새로운 60 일 토큰에 대해 만료 예정인 60 일 토큰을 교환 할 수는 없습니다. 그리고 새 단명 토큰을 얻는 유일한 방법은 사용자가 로그인하여 생성하는 것입니다. 그게 내 문제 야. 내가 이해하는 한, 사용자가 다시 로그인하지 않고도 새로운 단명 토큰을 얻을 수는 없습니다.

나는 이해하기가 더 쉬운 비유를 생각하려고했는데, 이것이 내가 생각해 낸 최선의 방법이다.

90 일마다 cron으로 실행되는 bash 스크립트를 사용하여 회사의 페이스 북 페이지에 분기 별 보고서를 사용할 수 있음을 알리는 메시지를 게시한다고 가정합니다. 새로운, 더 이상 사용되지 않는 offline_access 세상에서이 cron 작업을 어떻게 할 수 있습니까? 내가 저장하는 유일한 고객 특정 데이터는 60 일 액세스 토큰이고 bash 스크립트에는 사용자 인터페이스가 없습니다.

해킹 된 해결책을 수행 한 경우 설치 과정에서 fb 사용자 이름과 암호를 포함하도록 응용 프로그램을 설치 한 사람이 필요합니다. 그래프 API에 사용자 이름과 암호를 제공 한 다음 HttpClient와 같은 것으로 로그인하고 oauth 클릭 스트림을 시뮬레이션하는 방법이 있습니까?

이상적으로 새로운 60 일 토큰에 대해 60 일 토큰을 교환 할 수있는 fb_exchange_token 옵션이 있다면 하루에 한 번씩 페이스 북 샘플을 작성하여 60 일 토큰이 만료되는 정도를 확인할 수 있습니다. 1 ~ 2 일 내에 새로운 fb_exchange_token을 수행하고 새로운 60 일 토큰을 저장하십시오.

죄송합니다. 글자입니다. 나는 누군가가 후속 질문을하지 않고도 도울 수 있도록 정보를 모두 얻으려고했다.

답변

1

나는 그것을 이해하므로 사용자가 다시 로그인 할 필요없이 새로운 단명 토큰을 얻을 수 없습니다.

글쎄, 그건

내가 발표 기업의 페이스 북 페이지에 메시지를 게시 할 90 일마다 크론에서 실행되는 bash는 스크립트가 가정 ... 제거 offline_access의 전체 의 분기 별 그 보고서를 사용할 수 있습니다. 새로운, 더 이상 사용되지 않는 offline_access 세상에서이 cron 작업을 어떻게 할 수 있습니까? 토큰 대신 사용자 액세스 토큰의 페이지 접근 할

-페이지 액세스 토큰은 오랫동안 자신의 암호 나 잎을 변경하지 않습니다 당신이 그들을있어 사용자로 (만료되지 않습니다 플랫폼 완전히).

내가 가장 까다로운 해결책을 찾았을 때 설치 과정에서 fb 사용자 이름과 암호를 포함하도록 응용 프로그램을 설치 한 사람에게 어떻게 작동해야합니까?

FB 플랫폼 정책을 분명히 위반하는 것입니다. 그렇게 생각하지 않아야합니다. 내가

다시 새로운 60 일 토큰 60 일 토큰을 교환 할 수 fb_exchange_token 옵션 같은 것을 [...]했다

이상적 경우, 페이스 북은 그것이 가능하고 싶을 경우, 처음에는 offline_access를 제거 할 필요가 없었습니다.

+0

좋아, 페이지 access_token을받는 것은 ... me/accounts 호출을 통해 쉽습니다. 그러나 팬 페이지 벽 대신 사용자의 벽에 메시지를 게시하려면 어떻게해야합니까? – jspyeatt

+0

사용자가 "누구든지"자신의 담벼락에 게시물을 허용하지 않거나 해당 게시물을 사용자가 원하는 경우 - 다른 방법은 없습니다 __ 그런 다음 사용자가 유효한 사용자 액세스 토큰을 갖도록 적극적으로 요청하십시오 당신이 당신의 DB에 저장 한 것이 만료되면 하나를 위해. – CBroe

관련 문제