프로그래밍 놀이터/Tips

[Facebook] Access Token, Permissions and Roles

돼지왕 왕돼지 2018. 2. 27. 08:30
반응형

[Facebook] Access Token, Permissions and Roles


https://developers.facebook.com/docs/facebook-login/access-tokens/

https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension


-

Facebook 로그인을 사용하여 앱에 연결하면, 앱에서 FB API 에 임시적인 Access Token 을 받을 수 있다.

이 Token 에는 만료 시기와 토큰을 생성한 앱에 대한 정보가 있다.

AccessToken 은 여러 API 를 통해 발급받을 수 있으며, Graph API 를 호출하는 데 사용된다.



-

AccessToken 은 다음의 유형이 있다.

     User Access Token

     App Access Token

     Page Access Token

     Client Token



-

User Access Token

     가장 일반적인 토큰으로 앱에서 특정 사용자 대신 FB 데이터를 CRUD 하기 위해 사용된다.

     일반적으로 로그인 창을 통해 얻는다.



-

App Access Token

     앱 설정을 수정하고 읽는 데 필요하다.

     Open Graph Action 을 수행하는 데도 사용할 수 있다.

     앱과 FB 간 사전 합의된 시크릿을 사용하여 생성하며, 서버간 호출을 통해 앱 엑세스 토큰을 얻는다.



-

Page Access Token

     FB 페이지에 속한 데이터를 CRUD 하는 API 에 대한 권한을 제공한다.

     이는 User AccessToken 을 확보하고 manage_pages 권한을 요청하는 작업부터 시작해야 한다.

     User Access Token 을 기반으로 Graph API 를 통해 받아올 수 있다.



-

Client Token

     앱을 식별하도록 기본 모바일 앱 또는 데스크톱 앱에 embed 하는 ID 이다.

     앱에 embed 되어 있기에 secret ID 로 사용할 수 없다.

     앱 레벨 API 엑세스 하는데 사용하지만, 매우 제한된 하위 집합에만 해당한다.



-

Facebook SDK 를 사용하는 경우에는 약 60일간 유효한 Access Token 을 얻는다.

앱 사용자가 FB 서버에 요청을 보내면 해당 토큰이 하루에 한 번 갱신된다.

요청이 없으면, 토큰이 약 60일 이후에 만료되며, 사용자는 새 토큰을 얻기 위해 다시 로그인 플로우를 거쳐야 한다.



-

웹에서의 엑세스 토큰 수명은 약 2시간이지만, 필요한 경우 자동 갱신된다.

서버 측면에서 더 오래 실행되는 웹 앱에 대해 엑세스 토큰을 사용하려는 경우 장기간(60일) 실행되는 토큰을 생성해야한다.




반응형