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월 17일 목요일
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
- 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일 목요일
Announcing Snowflake
http://engineering.twitter.com/2010/06/announcing-snowflake.html
트위터의 트윗 아이디 생성하는 소스를 오픈했습니다.
K-V 디비에서 Key 값을 생성할때 유용하게 사용할 수 있을 듯 합니다.
2010년 6월 1일 화요일
피드 구독하기:
글 (Atom)