2011-09-01 3 views
0

에게 Heroku와 쓰기의 OAuth 인증

내가 내 트위터 계정을 조회하는 간단한 응용 프로그램을 작성하고 내 타임 라인에서 트윗을 처리 (이 약 OAUTH하지만 키와 값을 저장에 대한 아닙니다).

oauth 토큰과 비밀을 얻을 수 있지만 실제로 알려지지 않은 이유로 heroku의 파일 시스템에 저장할 수 없습니다.

task :heroku => :environment do 
    desc "manually store the keys for heroku in oauth_path" 
    File.open(oauth_path, 'w') do |f| 
     f.puts ENV['token'] 
     f.puts ENV['secret'] 
    end 

    puts "Token and Secrent written to #{oauth_path}" 
    end 

이 로컬 파일 시스템에서 작동하지만 Heroku가에 :

는 기본적으로 나는 다음과 같은 코드가 있습니다.

나는 oauth_path를 열고 그 토큰과 비밀로 트위터 응용 프로그램을 실행하는 작업을했습니다.

는 내가 키 값을 저장 한 후 rake myapp:pull로 내 응용 프로그램을 작성하는 방법을 rake myapp:pull

어떤 아이디어를 실행하기 Heroku가에 크론을 설정 ??

+0

나는 당신이 Heroku에 파일을 쓸 수 있다고 생각하지 않는다 : http://devcenter.heroku.com/articles/read-only-filesystem 어떤 종류의 데이터베이스 나 다른 원격 저장소를 사용해야한다. – Thilo

+0

오, 알았어. 내가 필요로하는 것은 oauth-token과 oauth-secret를 저장하는 것입니다. 둘 다 시간이 지남에 따라 바뀔 수 있습니다. 당신이 생각할 수있는 간단한 해결책? – disappearedng

+0

데이터베이스에 저장하는 것이 좋습니다. (외부 저장소에 연결하는 것은 S3와 같은 잔인한 행동입니다 ...) – PeterWong

답변

2

이 정보를 저장하기 위해 heroku에 환경 변수를 설정해야하며 잠재적으로 덜 안전 할 수 있으므로 데이터베이스 내에 저장하면 안됩니다.

$ cd myapp 
$ heroku config:add S3_KEY=8N029N81 S3_SECRET=9s83109d3+583493190 
Adding config vars: 
    S3_KEY => 8N029N81 
    S3_SECRET => 9s83109d3+583493190 
Restarting app...done. 

을 그리고이처럼 액세스 :

는이 같은 키를 설정

AWS::S3::Base.establish_connection!(
    :access_key_id  => ENV['S3_KEY'], 
    :secret_access_key => ENV['S3_SECRET'] 
) 

documentation for more info를 참조하십시오.

+0

위대한! 정확히 내가 필요로하는 것. 어떻게 개발이 테스트 할 수 있습니다. – disappearedng

관련 문제