0
devise plugin允許使用authentication tokens。該文檔說明了「Token Authenticatable」選項:基於身份驗證令牌(也稱爲「單一訪問令牌」)登錄用戶。令牌可以通過查詢字符串或HTTP基本認證兩種方式給出。使用基本身份驗證來傳遞身份驗證令牌
查詢字符串方法很清楚,但您是如何通過Basic Authentication傳遞令牌的?是否有必要使用Base64編碼,就像這樣:
echo "auth_token:3a75Dvc" | base64
=> YXV0aF90b2tlbjozYTc1RHZjCg==
curl --header "Authorization: Basic YXV0aF90b2tlbjozYTc1RHZjCg==" \
http://my_site.com/my_app
是的,你是對的。查看規格總是一個好主意。爲什麼你必須添加一個「X」?我從來沒有猜到過。我期望'auth_token:token_value'格式,但不是'token_value:X' – 0x4a6f4672 2013-03-12 13:21:12
其實我認爲它可以是任何東西,而不是X.所以''Basic#{Base64.encode64(「#{VALID_AUTHENTICATION_TOKEN}:BLAHBLAHBLAH」)} 「'我應該工作。 – 2013-03-12 13:39:38
是的,TokenAutheticable策略的源代碼表示:「由於某些客戶端可能需要密碼,因此您可以將」X「作爲密碼傳遞,它將被忽略。」,請參閱https://github.com/plataformatec/devise /blob/master/lib/devise/strategies/token_authenticatable.rb – 0x4a6f4672 2013-03-12 13:44:05