2014/06 7

빠르게 훝어 보는 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 모듈에서 잘 추상화된 라이브러리를 제공하기 때문에 쉽게 구축..

빠르게 훝어 보는 node.js - #14 - Passport를 이용한 사용자 인증 구축

빠르게 훝어보는 node.js#14 - Passport를 이용한 사용자 인증 구축조대협 (http://bcho.tistory.com) Passport는 node.js용 범용 인증 모듈이다. 기본적인 HTTP Basic Auth에서 부터 HTTP digest authentication, OAuth,OpenID 등 다양한 인증 프로토콜을 지원하며, Facebook이나 Twitter,Google등과의 연계된 SSO 인증을 포함하여 약 140가지의 인증 모듈을 포함한다. 그러면Passport를 이용하여, 어떻게 사용자 인증을 구현할 수 있는지 살펴보도록 하자.이러한 다양한 인증에 대해서 미리 구현해 놓은 것을 passport에서는 Strategy라고 한다. Facebook 인증을 위해서는 facebook str..

자바스크립트 스터디 노트 #2

실습중 코멘트클래스 내에서 변수var MyClass = function(){ var local; // 생성자 내에서만 유효 this.objectvalue; // 객체 단위로 유효 } MyClass.prototype.classvalue; /// 클래스 단위로 유효 text와 html$(‘#xxx’).html : 등의 HTML 태그가 반영됨 $(‘#xxx’).text : 등의 HTML 태그가 문자열로 저장됨 (실제 태그 효과가 없어짐)JQueryjqeury 엘리먼트는 생성자에서 객체 변수로 캐슁해서 사용하도록 하는 것이 좋다.클래스클내부 변수나 내부 메서드는 _를 사용하거나, _$로 시작하는 것이 좋다. 구글의 자바스크립트 네이밍 컨벤션 참고할것.자바스크립트 엔진싱글 쓰레드임을 명시 할것. 콜백은 비동기로 ..

자바스크립트 스터디 노트 #1

자료형변수null과 undefined 이외에는 모든 변수는 객체로 됨 Set을 사용할때는 key는 String만 사용 가능하며, value는 리터럴 모두 가능하다.var a ={ test:function(){ }}; a.test(); 리터럴에 대한 탐색 (순서를 보정하지 않는다.) cf. 배열은 순서를 보장한다.var a={1:[],2:[]}; 1,2 순서대로 나오지 않는다.배열 선언var a = new Array(5); 길이가 5인것 var a = [5]; 멤버가 5인것을 사용. 리터럴 방식의 선언 방식 아래 리터럴 방식의 선언이 실행 속도가 더 빠름 배열의 형 체크아래와 같이하면, a는 Object로 판별됨typeof a그래서, 아래와 같은 방법을 체크하는 게 좋은데,a instanceof Array..

보안 및 아키텍쳐 설계 관련 추천 서적

괜찮은 책들 정리 Security Patterns in Practice저자Fernandez-Buglioni, Eduardo 지음출판사John Wiley & Sons (Asia) Pte. | 2013-06-25 출간카테고리과학/기술책소개Learn to combine security theory an... Security 전반에 걸쳐, 인증, 암호화, 인가등 다양한 시나리오에 대해서 패턴 중심으로 설명, 개념 잡기 아주 좋음 Oauth 2.0 Identity and Access Management Patterns저자Martin Spasovski 지음출판사Packt Publishing | 2013-11-28 출간카테고리Oauth 2.0 Identity and Access Management Patterns책소..

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...