[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일) 실행되는 토큰을 생성해야한다.
'프로그래밍 놀이터 > Tips' 카테고리의 다른 글
[보안] MAC, DAC, RBAC (0) | 2018.05.01 |
---|---|
starUML 에서 static method or static field 마킹하는 방법 (0) | 2018.04.02 |
[Facebook] 그래프 API ( Graph API ) Overview (2) | 2018.02.26 |
VFS 에 대해 대충 알아보장~ (0) | 2018.02.12 |
[SourceTree] Resolve conflict using mine, theirs. (0) | 2018.01.27 |
댓글