例: API_key:4faa86aa5848207502000002
および API_secret 7375d7d1e89d3d602b184432fbcf3c09c7cb30676f19af9ac57d228be401
。
使用する必要がありますSecureRandom
か?
ありがとう!
例: API_key:4faa86aa5848207502000002
および API_secret 7375d7d1e89d3d602b184432fbcf3c09c7cb30676f19af9ac57d228be401
。
使用する必要がありますSecureRandom
か?
ありがとう!
ActiveSupport::SecureRandom は実際の生成では機能しますが、さまざまなイベントでトークンを無効にしてリセットする方法も検討する必要があります。
Devise を使用しているため、Token Auth Strategyをご覧ください。2 つのトークン (それぞれ API キーと API シークレット) を使用して同様の戦略を作成できます。ストラテジーとモデルの両方を作成する必要がありますが、どちらの場合も、Token Auth の例で十分に理解できます。
出発点として (Token Auth の例から)、モデルは両方の必須パラメーターを宣言する必要があります。
module Devise
module Models
module APIKeyAuthenticatable
...
def self.required_fields(klass)
[:api_key, :api_secret]
end
def reset_keys
self.api_key = self.class.api_key
self.api_secret = self.class.api_secret
end
また、devise のカスタム認証戦略も読みたいと思うかもしれません。デバイス上でよりフル機能の API 認証ソリューションを提供することを検討している場合、devise_oauth2_providableはかなり良さそうです。
authlogic_apiを試しました。実装はかなり簡単でした。