어느 것이 더 안전하고 왜?
둘 다 안전합니다. 사용중인 환경에 따라 다릅니다.
서버가 직접 액세스 토큰을 발행 할 수있을 때 추가 작업 단계 (토큰에 대한 교환 인증 코드)가 하나의 작업 흐름에 추가되는 이유를 알 수 없습니다.
간단하다. 클라이언트가 안전하지 않습니다. 자세히 보자.
에 대한 애플리케이션을 개발하고 있다고 가정 Instagram API
하여 APP을 등록 Instagram
하고 API's
필요한 것을 정의 하십시오 . Instagram
를 제공 할 것입니다 client_id
및client_secrect
당신은 웹 사이트에 링크를 설정합니다. "내 신청서를 가져 와서 사용하십시오". 이 웹 응용 프로그램을 클릭하면를 두 번 호출해야 Instagram API
합니다.
First
Instagram Authentication Server
아래 매개 변수 로 요청을 보내 십시오.
1. `response_type` with the value `code`
2. `client_id` you have get from `Instagram`
3. `redirect_uri` this is a url on your server which do the second call
4. `scope` a space delimited list of scopes
5. `state` with a CSRF token.
을 (를) 보내지client_secret
않습니다. 클라이언트 (응용 프로그램을 사용하려고하는 사용자 및 / 또는 브라우저)를 신뢰할 수 없습니다. 클라이언트는 url 또는 java 스크립트를보고 client_secrect
쉽게 찾을 수 있습니다. 이것이 또 다른 단계가 필요한 이유입니다.
code
및을 받습니다 state
. code
이곳은 temporary
어떤 곳 저장되지 않습니다.
그런 다음 서버에서 second
전화를 겁니다.Instagram API
1. `grant_type` with the value of `authorization_code`
2. `client_id` with the client identifier
3. `client_secret` with the client secret
4. `redirect_uri` with the same redirect URI the user was redirect back to
5. `code` which we have already received.
서버에서 전화를 걸면 사용자가 리소스 사용 권한을 부여한 것을 client_secret
보여주는 안전하게 사용할 수 있습니다 .code
client_id
이에 대한 응답으로 access_token