OAuth 확장
OAuth 확장 (OAuth)
제3자 서비스의 데이터에 사용자 이름·비밀번호를 저장하지 않고 안전하게 접근해야 할 때가 있어요. OAuth 확장은 HTTP 위에서 동작하는 인증 프로토콜인 OAuth 1.0a의 소비자(consumer)와 공급자(provider) 바인딩을 제공합니다.
본문
OAuth는 HTTP 위에 구축된 인증(in authorization) 프로토콜이에요. 애플리케이션이 사용자 이름과 비밀번호를 저장하지 않고도 데이터에 안전하게 접근할 수 있게 해 줍니다. 이 확장은 OAuth 1.0a 소비자와 공급자 양쪽을 지원합니다.
구성 요소
- 설치/설정: Requirements, Installation, Predefined Constants
- 예제: FireEagle
OAuth 함수 일람
oauth_get_sbs— 서명 기본 문자열(Signature Base String) 생성oauth_urlencode— URI를 RFC 3986 규격으로 인코딩
OAuth 클래스
OAuth 클래스는 소비자 기능을 제공하며 주요 메서드는 다음과 같아요.
__construct— 새 OAuth 객체 생성fetch— OAuth 보호 리소스 가져오기generateSignature— 서명 생성getAccessToken— 액세스 토큰 가져오기getRequestToken— 요청 토큰 가져오기getLastResponse/getLastResponseHeaders/getLastResponseInfo— 마지막 응답 관련getRequestHeader— OAuth 헤더 문자열 서명 생성setToken— 토큰과 시크릿 설정setAuthType— 인증 타입 설정setNonce,setTimestamp,setVersion— 요청 관련 값 설정setCAPath,setRSACertificate,setSSLChecks— SSL/인증서 설정setRequestEngine— 요청 엔진 설정enableDebug/disableDebug,enableRedirects/disableRedirects,enableSSLChecks/disableSSLChecks— 동작 토글
OAuthProvider 클래스는 공급자(서버) 기능을 제공하며, checkOAuthRequest로 요청을 검사하고 consumerHandler, timestampNonceHandler, tokenHandler 같은 핸들러 콜백을 설정합니다. 그 외 addRequiredParameter, removeRequiredParameter, generateToken, setParam, setRequestTokenPath 등이 있어요.
OAuthException— OAuth 예외 클래스