APIをラップするためのgemを作成しています。このサービスにはいくつかのログインパラメーターが必要なので、すべてのログイン値を渡し、インスタンス変数を使用して保存することで初期化するConnectionクラスを作成しました。これらの値の1つは@secret_access_key
、明らかに秘密です。アプリ内では読み取ることができません。しかし、irbでgemをテストしているときに、オブジェクトが返されるときに、他のすべてのインスタンス変数とともに秘密鍵が表示されます。
mws = MWS::Connection.new :access_key => '1', :secret_access_key => 'SECRET!!!', :merchant_id => '3', :marketplace_id => '4'
=> #<MWS::Connection:0x007fbd22acef40 @access_key="1", @merchant_id="3", @marketplace_id="4", @secret_access_key="SECRET!!!">
秘密鍵がHerokuログ、アプリのエラーメッセージ、その他に表示されることを私は妄想しています。
心配する必要がありますか?もしそうなら、この情報を保存または非表示にするための最良の方法は何ですか?
また、私はこれを管理するためにhttparty gemを使用していますが、そのgemでもっと良いことができるでしょうか?