2010년 6월 17일 목요일

OAuth1.0a + OAuth Access Tokens using credentials draft

OAuth1.0a + OAuth Access Tokens using credentials draft


Twitter.com에서 2-legged 방식으로 access token을 제공하는 방식의 OAuth Access Tokens using credentials draft 스펙을 적용해서 운영을 하고 있군요. 이에 대해 분석을 좀 해 봤습니다.



1. 배경

- 기존에는 웹 방식으로 3-legged 방식으로 진행되어 웹이 지원되지 않는 클라이언트 어플에서 한계점이 있었음.

- OAuth WRAP/2.0이 아직 안나와서 OAuth Access Tokens using credentials draft + OAuth 1.0a를 트위터에서 구현한 것임.

- 이 스펙의 draft로 인해 클라이언트 및 모바일 어플에서도 확장되어 사용할 가능성이 많아 보임.



2. 개요

- OAuth1.0a + OAuth Access Tokens using credentials draft(xAuth) 개념 도입함.

- xAuth : x_auth_mode, x_auth_username, x_auth_password 요청 파라미터에 추가되었음.

- 기존은 3-legged 방식이었는데 이 방식은 2-legged 방식으로 변환되어 바로 access token을 제공하여 이 토큰을 가지고 보호 개인 콘텐츠들을 공유할 수 있는 기반을 마련해 줌.

- Third Party(Consumer)에서는 아이디/패스워드는 관리하지 않고 access token만 관리를 하게 됨.

- OAuth WRAP/2.0는 FriendFeed, Facebook에서 적용하고 있음.



3. OAuth Access Tokens using credentials draft 상세 정보

*. 요청시 파라미터

- x_auth_mode=client_auth

- x_auth_username=트위터 아이디

- x_auth_password=트위터 패스워드

- oauth_consumer_key : 트위터에서 발급한 consumer 인증용 키

- oauth_signature_method : 시그너처 암호화 방법

- oauth_signature : 시그너처

- oauth_timestamp : 요청 시간

- oauth_nonce : phishing용 방어 Nonce

- oauth_version : OAUTH 스펙 버전(1.0)



*. 요청 응답 파라미터(아래 파라미터만 Consumer 사이트에서 관리함)

- oauth_token : TwitterPic에서 이미지 공유가능하도록 접근 허용 키 발급(access token)

- oauth_token_secret : 키에 대한 credentials 값

- x_auth_expires : 인증 세션 만료 기간(0:무기한, 만료되었을 경우 Consumer 사이트는 재 인증 절차를 밟아야 함)



4. 이슈

- username, password 정보를 Third-Party에서 저장해서 관리할 가능성 존재.

- Phishing Attacks, Session Fixation Attacks의 OAuth 자체가 안고 있는 보안 이슈에 대해서도 보완도 필요해 보임.



[참조사이트]



•OAuth Access Tokens using credentials draft

•OAuth WRAP/2.0
 
출처: http://www.mimul.com/pebble/default/2010/02/17/1266404940000.html

2010년 6월 7일 월요일

PHP cURL library

1. cURL이란?




- cURL = Client URL

- cURL은 아래와 같은 프로토콜 등에 의해 전송되는 파일들을 위한 command line tool이다.

FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE

- SSL, HTTP POST, HTTP PUT, FTP uploading, HTTP form기반의 upload, proxies, cookies, user+password인증도 제공한다.

- cURL은 무료이며, 많은 운영체제에서 컴파일되고 동작하는 open software이다.

- command line tool을 이용하거나

- libCURL을 이용할 수 있다.


http://webtech.tistory.com/search/curl

2010년 6월 3일 목요일

bash shell script 가이드

Bash Shell Script 가이드

http://wiki.kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/

Announcing Snowflake

http://engineering.twitter.com/2010/06/announcing-snowflake.html

트위터의 트윗 아이디 생성하는 소스를 오픈했습니다.

K-V 디비에서 Key 값을 생성할때 유용하게 사용할 수 있을 듯 합니다.

2010년 6월 1일 화요일

Comet with PHP

comet  with PHP

http://www.zeitoun.net/articles/comet_and_php/start