qiniu / ruby-sdk

Qiniu Resource (Cloud) Storage SDK for Ruby
MIT License
164 stars 138 forks source link

生成上传凭证时报告“The underlying hash algorithm has not yet been initialized.” #106

Closed Martin91 closed 10 years ago

Martin91 commented 10 years ago

我今天在照着文档 调试时,发现生成上传凭证的时候出现了来自ruby-hmac的异常,相关代码以及错误信息如下:

[1] pry(main)> put_policy = Qiniu::Auth::PutPolicy.new 'bucket_name'
=> #<Qiniu::Auth::PutPolicy:0x00000105d10e38
 @bucket="bucket_name",
 @deadline=1409707751,
 @expires_in=3600,
 @key=nil,
 @scope="bucket_name">
[2] pry(main)> uptoken = Qiniu::Auth.generate_uptoken(put_policy)
RuntimeError: The underlying hash algorithm has not yet been initialized.
from /Users/martin/.rvm/gems/ruby-2.0.0-p451/gems/ruby-hmac-0.4.0/lib/hmac.rb:36:in `check_status'

请问是否是依赖组件出问题了?

Martin91 commented 10 years ago

不好意思,这个错误是我没有正确传入access_key以及secret_key造成的,gem本身功能正常。 不过还是建议加上配置参数Config.settingsaccess_key以及secret_key的非空检查,毕竟RuntimeError: The underlying hash algorithm has not yet been initialized.这样的错误信息容易误导开发者,本身也不友好。

guyanbiao commented 9 years ago

+1