이것은 외부 웹 서비스를 사용하기 위해 Rails 앱을 작성한 첫 시도입니다.ActiveResource를 통해 웹 서비스에 자격 증명 제공
나는 꽤 잘 작동하는 ActiveResource를 통해 다른 레일즈 응용 프로그램에서 일부 레코드를 가져 오는 몇 가지 기본적인 실험을 해봤지만,이 인스턴스에서는 매우 구체적인 인증을 요구하는이 웹 사이트에 액세스하려고합니다.
- 는의 문자열 표현을 만들고 다음과 같이
문제의 서비스는있는 http://www.dnsmadeeasy.com/services/rest-api/
에 위치한 인증 요구 사항 문서에 따라 할 수있는 문서 DNSMadeEasy에서 제공하는 REST API입니다 HTTP 형식의 현재 날짜와 시간. 예 : 토요일, 12 2 월 2011 20:59:04 GMT
- 비밀 키를 해시 키로 사용하여 해당 문자열의 16 진수 HMAC SHA1 해시를 계산합니다.
- API 키, 현재 날짜와 시간 및 계산 한 HMAC 해시를 사용하여 요청 헤더의 값을 설정하십시오.
REQUEST_DATE = Time.now.httpdate HMAC =에는 OpenSSL : HMAC.hexdigest ('SHA1', SECRET_KEY, REQUEST_DATE)
:
그래서 나는 날짜를 얻고 해시를 계산하는 방법을 알아 냈어 나는 웹 서비스에 대한 내 요청을 보낼 때
첫째, 어떻게 다음 HTTP 헤더에이 정보를 삽입 가야합니까 :
그래서 제 질문은 세 부분으로?
둘째, 내 ActiveResource 클래스가 상속하는 수퍼 클래스에이 모든 것을 넣으려면 어떻게해야합니까? 도메인 및 ResourceRecord 클래스에서 걱정할 필요가 없습니까?
셋째, 앱에 API 및 비밀 키를 저장하는 것이 가장 좋습니다. 즉, 초기화 프로그램을 사용하여 수행해야합니까? 아니면 환경 변수를 사용하는 것이 가장 좋습니까?
이러한 종류의 워크 플로우에 대한 모든 팁과 트릭은 극명하게 평가 될 것입니다.
감사
굉장이 보석을, 그 감사를 사용합니다. –
내가 귀하의 질문에 답변했다고 생각하시면 허용으로 표시 할 수 있습니다. :) – Nobita