API 30

OAuth 2.0 노트

OAuth 용어 정리 Resource Owner (사용자) Authorization Server (인증서버 Resource Server (REST API) OAuth 2.0 grant flow Authorization code grant flow 가장 많이 권장되고, 사용자와 앱을 둘다 인증함. 앱 인증을 위해서 call back URL(앱의)를 등록해서 call back을 통해서 앱을 인증함 Implicit grant flow 자바스크립트 애플리케이션에서 많이 사용됨. 스크립트 단에서는 credential 등이 노출 될 수 있으니, 주로 Read only 용도로 많이 사용함. accessToken이 노출될것을 전제로 함. 모바일 애플리케이션도 많이 사용하는걸로 나오네?? Ÿ Used in public ..

빠르게 훝어 보는 node.js - #15 - Passport를 이용한 OAuth 2.0 API 인증 (Facebook 1/2)

빠르게 훝어보는 node.js#15 - Passport를 이용한 OAuth 2.0 API 인증 (Facebook 1/2)조대협 (http://bcho.tistory.com) REST 기반의 OPEN API 인증을 고민하다가 보니, 가장 많이 쓰이는게, OAuth 2.0이라서, 이 OAuth 2.0을 보다보니, 도저히 이해가 안되겠다 싶어서, 간단하게 직접 구현해보기로 했다. OAuth 서버를 구현하기전에 먼저 테스트 클라이언트가 필요했기 때문에, node.js + passport 를 이용해서 facebook API를 호출하는 간단한 웹 사이트를 만들어보기로 했다.Facebook의 API는 기본적으로 OAuth 2.0을 사용하고, Passport 모듈에서 잘 추상화된 라이브러리를 제공하기 때문에 쉽게 구축..

REST API 디자인 가이드

REST API 디자인 가이드조대협(http://bcho.tistory.com)REST API 디자인을 보면, REST 사상에 맞춰서 제대로 디자인 (CRUD를 HTTP method에 맞춘)하기도 어렵고, URI Convention등이나 보안, 버전 관리등 고려할 사항이 많다. 이번 글에서는 REST API를 디자인에 대한 가이드를 소개하고자 한다.동사보다는 명사를 사용하자URL을 심플하고 직관적으로 만들자REST API를 URL만 보고도, 직관적으로 이해할 수 있어야 한다 URL을 길게 만드는것 보다, 최대 2 depth 정도로 간단하게 만드는 것이 이해하기 편하다./dogs /dogs/1234URL에 동사보다는 명사를 사용한다.REST API는 리소스에 대해서 행동을 정의하는 형태를 사용한다. 예를 ..

OAuth 2.0 based API 인증 메모

* Authroization Code- Redirect base / 서버 백엔드가 있는 경우 사용 - 파트너사가 API를 사용하는 시나리오에 유리* Implicit - Rediect base / 특히 Java script 처럼 서버 백엔드가 없는 경우 유용. Read Only 등에 사용* Resource Owner Password Credential - Client Id, Secret을 앱에 넣은 후, Client Id/Password로 인증하여, access token을 발급 받는 방식으로, Authorization Server와 Resource Owner가 같은 서비스인 경우 유용함 (자사 API 제공에 유용)* Client Crendetial- 유용한 Link서버 구현체 : http://oauth...

API 플랫폼에 대한 소개

API Platform조대협 근래에 들어서 모바일 애플리케이션의 발전과 SNS의 발전과 더불어서 Open API 에 대한 관심도가 급격하게 높아졌다. Open API란, API를 내부 사용자뿐만 아니라 외부 개발자에게까지 공개해서, 외부 개발자가 API를 이용해서 새로운 서비스를 만들도록 하는 모델이다. 근래에 들어서는 API만 전문적으로 개발 및 서비스를 해서 이를 통해서 수익을 창줄하는 비지니스 모델까지 생겨나고 있다. 이런 배경으로 API 관리에 대한 중요성이 대두되었는데, API에 대한 쉬운 관리, 모니터링 및 유료화 그리고, API에 대한 편리한 사용법, 샘플 코드 및 메뉴얼 제공하는 시나리오가 필요하게 되었는데, 이를 하나의 플랫폼 형태로 묶어 놓은 것을 API 플랫폼이라고 한다.API 플랫폼..

REST API에 대한 보안

REST API 보안조대협REST API에 대한 보안에 대해서 알아보자. API 에 대한 보안은 인증, 메세지 암호화, 무결성 크게 3가지 관점에서 고민해볼 수 있다. 1) 인증인증은, REST API를 호출한 사람(클라이언트)가 적절한 사용자 인가를 판단해주는 것이다. 아무나 API를 호출하는 것이 아니라 인증을 받은 사람많이 API를 호출해주게 하는 것인데, 쉽게 생각하면 사용자의 id,passwd로 서비스에 로그인을 하는 개념을 생각할 수 있다.API Key 방식API에 대한 인증 방법은 몇가지가 있는데, 그 중에서 가장 기초적인 방법은 API Key를 이용하는 방법이다. API Key란, 특정 사용자만 알 수 있는 일종의 문자열이다. 현재 Amazon이 이 방식을 사용하고 있는데 API를 사용하고..

API platform

API 플랫폼 주요 기능 및 API Security API Platform 다양한 인증 방식을 제공하는가?l AppID (Service Id) 방식l API Key 방식l OAuth 방식l IP white list 방식Multiple Admin을 지원하기 위한 Delegated Admin 기능을 제공하는가?개발자를 위한 Developer Portal 기능API 사용에 관련된 Reporting 과 AnalyticsAPI Service사용에 대한 Contract을 지원하는가?API traffic management 기능을 제공하는가?RBAC 기반의 컨텐츠 Access가 가능한가?SLA 수준은 어떻게 보장 하는가? API Security 1. AuthenticationAPI Key authentication ..

아키텍쳐 2013.07.17