2012-07-18

rightresource 0.4.5でログインエラー

RightScale APIをrubyから使うためのラッパーモジュールrightresource 0.4.5なのですが、比較的最近作成したRightScaleアカウントに対してだとエラーが起こるようです。
RestClient::Forbidden: 403 Forbidden: Basic auth is deprecated for calls other than login. Please 'login' to get a session and pass the session back for further actions.
中身をのぞいてみると、rightresourceではBasic認証でAPIにアクセスしているようです。
一方で、RightScale側では比較的新しいアカウントではBasic認証は非推奨になってしまいログイン時に発行されるcookieを用いて各種APIにアクセスする必要がある模様です。
なので、cookie認証でアクセスするよう以下のファイルの29,30行目の間に3行追加してあげれば行けましたよヾ(*・ω・)シ
CentOSの場合
/usr/local/lib/ruby/gems/1.9.1/gems/rightresource-0.4.5/lib/right_resource/connection.rb
Windows7の場合
C:\Ruby\lib\ruby\gems\1.9.1\gems\rightresource-0.4.5\lib\right_resource\connection.rb
@response = @api_object["login"].__send__("get".to_sym, {:x_api_version=>"1.0", :api_version=>"1.0"})
req_opts = {:cookies => @response.cookies, :open_timeout => @open_timeout, :timeout => @timeout}
@api_object = RestClient::Resource.new("#{@api}#{@account}", req_opts)

0 件のコメント:

コメントを投稿