어딘가에 굴러다니는 개발자 블로그

내 마음대로 정리하는 onedrive rest api 사용법 - 토큰 얻기 본문

Programming

내 마음대로 정리하는 onedrive rest api 사용법 - 토큰 얻기

Euryale 2017.04.09 23:22

이전글 보러가기


onedrive api를 이용하기 위해서는 엑세스 토큰을 얻어야 합니다. 이번 글에서는 엑세스 토큰을 얻는 방법을 알아보겠습니다.


onedrive api에서는 Token flow와 code flow 두 가지 인증 절차가 존재합니다.

이 글에서는 code flow를 사용할 예정입니다.



엑세스 토큰을 얻기 전에 scope에 대해 알아보겠습니다.

scope란 받은 엑세스 토큰이 onedrive 서비스에 어느 정도(?) 까지 권한을 부여할지를 결정합니다.

scope은 아래와 같은 4가지 옵션을 지원합니다.




offline_access: refresh token을 요청할것인가? 입니다. scope은 code flow에서만 동작합니다.

onedrive.readonly: 사용자에게 공유된 파일 및 기본 파일 전부를 읽을 경우 이 옵션을 선택하시면 됩니다.

onedrive.readwrite: 사용자에게 공유된 파일 및 기본 파일 전부 읽고 쓰기를 지원합니다. 읽고 쓰기가 필요하면 이 옵션을 선택하면 됩니다.

onedrive.appfolder: 어플리케이션에서 특정 폴더의 쓰기 및 읽기를 허가합니다.



code flow의 절차는 다음과 같습니다.




맨 처음 flow인 authorization token을 요청해 보겠습니다.

http 웹 요청을 통해 authorization token을 요청해야 합니다.




client_id: application을 등록하면서 생성된 클라이언트 ID를 입력해 주세요(참조: http://euryale.tistory.com/87)

scope: 상단의 authentication scopes를 참조해 주세요

redirect_uri: application에 플랫폼을 등록하면 redirect uri가 생성됩니다. 해당 내용을 여기에 넣어주세요


예) https://login.live.com/oauth20_authorize.srf?client_id=10fkdis2l&scope=onedrive.readwrite
  &response_type=code&redirect_uri=urn:ietf:wg:oauth:2.0:oob


요청의 결과는 아래와 같습니다.


여기서 코드에 기록된 값이 다음 절차에 쓰여질 값입니다.


다음 절차는 access token을 요청하는 절차입니다.



code: 첫 번째 절차에서 얻은 코드값을 넣어주세요

client_secret: 내 마음대로 정리하는 Onedrive rest api 사용법 - 시작 파트에서 생성한 응용프로그램 암호를 여기에 넣어주세요

나머지는 스텝 1과 같습니다.


요청에 성공하면 다음과 같이 JSON 데이터가 돌아옵니다



여기서 access_token이 바로 우리가 onedrive에 요청할때 넣어줘야할 access 토큰이 되겠습니다.





0 Comments
댓글쓰기 폼