1

나는 offline_access 권한을 가진 응용 프로그램을 가지고 있으며 php sdk를 통해 액세스 토큰을 얻고 데이터베이스에 액세스 토큰을 저장합니다.offline_access 및 javacript와 함께 Facebook 액세스 토큰 사용

이 응용 프로그램은 페이스 북과 상호 작용하는 웹 사이트를 통해 작동하지만 우리 사이트를 사용하는 동안 사용자가 페이스 북에 로그인하지 않아도됩니다. 즉, 로그인하고 페이스 북에 로그인 할 필요가 없습니다 우리의 사이트를 사용합니다. 이것이 우리가 offline_access 권한을 사용하는 이유입니다.

이제 질문은 : 어떻게 자바 스크립트에서 액세스 토큰을 사용합니까?

우리가 현재 https를 통해 페이지를 제공하지 않아 토큰이 일반 텍스트로 이동하기 때문에 PHP 토큰을 통해 웹 페이지에 액세스 토큰을 삽입하는 명백한 해결책은 안전하지 않습니다. 또한 일부 사용자가 컴퓨터를 무인 상태로두면 공격자가 사이트 소스를 조사하여 토큰을 사용할 수 있습니다.

이 액세스 토큰을 안전하게 사용하는 쉬운 방법이 있습니까? 또는 나는 무엇인가 놓치고 있냐?

+0

자동으로 https://developers.facebook.com/docs/ 제출 오프라인 액세스 비추천 /). Facebook은 [만료 된 액세스 토큰을 확장하는 방법] (https://developers.facebook.com/blog/post/500/)에 대한 블로그를 작성 했으므로 몇 가지 질문에 답해야합니다. –

답변

0

JavaScript로 액세스 토큰을 안전하게 사용하는 유일한 방법은 PHP 스크립트에 AJAX 요청을하는 것입니다. 결코 브라우저 토큰에 떠 다니는 토큰을 갖고 싶지는 않습니다.

+0

나는 이것이 내가해야 할 일이라고 상상했다. 분명한 대답을 주셔서 감사합니다. – felipe

0

해당 웹 페이지에서 오프라인 토큰을 사용하는 PHP 스크립트로 AJAX 호출을 만들 수 있습니다.

0

GET으로 서버의 Facebook API를 호출하지 않으려는 경우 POST를 사용할 수 있습니다. 말 : 사용자 페이지에 의견을 작성하려면 예를 들어, 그래서 페이스 북의 API를 호출해야합니다 서버 페이지, 당신은

https://graph.facebook.com/userID/feed?access_token=XXXXXXXXXXX 

을해야하지만,이 방법으로 access_token과는의 URL 표시 줄에 표시됩니다 브라우저. 매개 변수를 숨기려면 POST를 사용 숨겨진 양식을 사용할 수 있으며, (그것은 [오프라인 액세스가되지되고있다] 언급 할 가치가 자바 스크립트

<form action="https://graph.facebook.com/userID/feed" name="formNAME" method="POST">    
<input type="hidden" name="access_token" value="XXXX">  
<input type="hidden" name="description" value="blablabla"> 
</form> 

<script type="text/javascript">  
document.formNAME.submit();  
return; 
</script>