2015-03-13 83 views
0

我正在開發一個基於REST API的爲CLI設計的Ruby腳本。該API需要一個令牌作爲憑據來識別用戶並允許他檢索他的信息。 現在,這些腳本每次啓動時都會在控制檯中詢問30長度的標​​記。在Ruby腳本中存儲用戶令牌的最佳方法

現在我想存儲此令牌,以避免每次用戶想要使用該腳本時詢問它。我不知道最好的方法是什麼,我是否必須創建一個包含令牌的隱藏文件,或者要求用戶將其存儲在環境變量中?

我想使用環境變量的解決方案,但我不知道它是否會以相同的方式用於Windows或Linux。

回答

3

撰寫所有方法。這樣的事情:

def get_my_token() 
    if ENV["MY_TOKEN"] 
    return ENV["MY_TOKEN"] 
    end 

    token_path = File.expand_path("~/.my_token") # will be expanded to user's home (Documents or smth) in windows, check it yourself as I don't have running windows around here 
    if File.exists?(token_path) 
    return File.read(token_path).strip 
    end 

    # resort to asking user for token here 
end 

ENV應該先行 - 所以你可以覆蓋你的配置,如果需要用於某些測試目的。另請注意,您也可以運行腳本MY_TOKEN=xxxx ruby my_app.rb

相關問題