세 가지 가장 일반적인 API 인증 방법
4577 단어 authenticationoauthapi
타사 API 작업을 시작하면 다양한 API 인증 방법을 접하게 됩니다. API로 인증된 요청을 수행하는 가장 일반적인 세 가지 방법은 다음과 같습니다.
기본 인증: 모든 API 호출과 함께 사용자 이름/암호를 보냅니다 🏴☠️
API 키: 이 서비스는 귀하의 계정에 대한 고유한 키를 생성하고 귀하는 모든 요청과 함께 이를 전달합니다 🤓
OAuth: 사용자가 로그인 버튼을 클릭하고 권한을 부여하면 앱에서
access_token
🚀각 방법에는 고유한 장/단점이 있습니다.
Basic은 구현하기가 매우 쉽지만 Google 계정 비밀번호를 누군가에게 알려주시겠습니까? (하지 마세요!)
API 키는 API 공급자와 개발자 모두에게 구현하기 쉽습니다. 하지만 기술자가 아닌 사람에게 API 키를 달라고 요청한 적이 있습니까?
OAuth(특히 OAuth2.0)는 사용자 경험 측면에서 최고입니다. 사용자는 버튼을 클릭하기만 하면 됩니다. 하지만 개발자에게는 !
API를 많이 사용하지 않더라도 세 가지 방법을 모두 접할 가능성이 높습니다. 예를 들어 Mailchimp 및 Twilio는 기본 인증 방법을 사용합니다. Stripe 또는 Sendgrid는 API 키 처리를 선호합니다. Google, Facebook 및 Twitter는 대부분 OAuth를 사용합니다.
일부 이국적인 API를 사용하는 경우 다른 방법(예: JWT 또는 사용자 정의 방법)을 발견할 수도 있습니다. 오늘날에는 덜 일반적이므로 다른 항목에 초점을 맞추겠습니다.
기초적인
오늘날 우리가 사용하는 기본 인증은 20년 🥳Officially standardized in June 1999이며 매우 광범위하게 구현되었으며 모든 브라우저에서 기본 인증을 여전히 지원합니다(IE도 포함).
요청과 함께 Authorization
헤더를 전달하여 작동합니다.
curl "https://example.com/" \
-H "Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ="
문자열Basic
은 기본 액세스 인증을 사용하고 있음을 나타냅니다. 그리고 문자열 dXNlcm5hbWU6cGFzc3dvcmQ=
는 username:password
의 base64 인코딩입니다.
여기서 username
및 password
를 통과하는 것은 필수가 아닙니다. 예를 들어 Twilio은 [YOUR ACCOUNT SID]:[YOUR AUTH TOKEN]
를 사용합니다.
API 키
API 키는 API가 생성하여 개발자에게 제공하는 비밀입니다. 일반적으로 3580944e0b742e664d10a5ed75f0bdbe
와 같이 길고 추측할 수 없는 문자열입니다.
기본 인증과 달리 API Key에 대한 기준은 없습니다. 가장 일반적인 패턴은 Authorization
헤더와 함께 전달하는 것입니다.
curl "https://example.com/" \
-H "Authorization: 3580944e0b742e664d10a5ed75f0bdbe"
그러나 일부 API는 개발자에게 전용 헤더X-Api-Key
, 쿼리 문자열https://example.com/?key=3580944e...
또는 본문{ "key": "3580944e..." }
으로 전달하도록 요청합니다.
API 키의 장점은 id가 API에 세분성을 추가한다는 것입니다. 해당 범주의 챔피언 중 하나는 Stripe API 입니다. "마스터"API 키 위에 개발자가 "읽기 전용"과 같은 보다 구체적인 액세스를 제공할 수 있는 "제한된 키"를 생성할 수 있습니다.
OAuth
2007년에 도입된 OAuth은 사용자 경험에 중점을 두고 있습니다. OAuth의 핵심 개념은 최종 사용자가 타사 애플리케이션, 즉 개발자와 자격 증명을 공유하지 않는다는 것입니다.
UX는 분명히 해당 인증 방법에 가장 적합하지만, 때로는 새로운 개발자가 시작하기 까다로울 수 있습니다.
여기에는 두 가지 이유가 있습니다. 첫째, OAuth를 수행하는 단방향이 아니라 5:
curl "https://example.com/" \
-H "Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ="
API 키는 API가 생성하여 개발자에게 제공하는 비밀입니다. 일반적으로
3580944e0b742e664d10a5ed75f0bdbe
와 같이 길고 추측할 수 없는 문자열입니다.기본 인증과 달리 API Key에 대한 기준은 없습니다. 가장 일반적인 패턴은
Authorization
헤더와 함께 전달하는 것입니다.curl "https://example.com/" \
-H "Authorization: 3580944e0b742e664d10a5ed75f0bdbe"
그러나 일부 API는 개발자에게 전용 헤더
X-Api-Key
, 쿼리 문자열https://example.com/?key=3580944e...
또는 본문{ "key": "3580944e..." }
으로 전달하도록 요청합니다.API 키의 장점은 id가 API에 세분성을 추가한다는 것입니다. 해당 범주의 챔피언 중 하나는 Stripe API 입니다. "마스터"API 키 위에 개발자가 "읽기 전용"과 같은 보다 구체적인 액세스를 제공할 수 있는 "제한된 키"를 생성할 수 있습니다.
OAuth
2007년에 도입된 OAuth은 사용자 경험에 중점을 두고 있습니다. OAuth의 핵심 개념은 최종 사용자가 타사 애플리케이션, 즉 개발자와 자격 증명을 공유하지 않는다는 것입니다.
UX는 분명히 해당 인증 방법에 가장 적합하지만, 때로는 새로운 개발자가 시작하기 까다로울 수 있습니다.
여기에는 두 가지 이유가 있습니다. 첫째, OAuth를 수행하는 단방향이 아니라 5:
둘째, 한 번에 여러 개념을 소개합니다. 예를 들어 먼저
access_token
를 요청해야 API 호출을 수행할 수 있지만 해당 토큰을 새로 고쳐야 하므로 제한된 시간 동안만 가능합니다.그러나 일단 become an OAuth master 👩🎤 이 있으면 익숙한 모양임을 알 수 있습니다.
curl "https://example.com/" \
-H "Authorization: Bearer {access_token}"
테이크아웃
기본, API 키 및 OAuth 중에서 가장 자주 볼 것으로 예상되는 것은 무엇입니까?
100개 이상의 APImonitored at Bearer.sh를 조사했으며 OAuth가 가장 널리 퍼진 방법입니다 🥳.
📢The most common API authentication methods은 원래 베어러 블로그에 실린 글입니다.
Reference
이 문제에 관하여(세 가지 가장 일반적인 API 인증 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/bearer/the-three-most-common-api-authentication-methods-2mnm
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(세 가지 가장 일반적인 API 인증 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bearer/the-three-most-common-api-authentication-methods-2mnm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)