2

例: API_key:4faa86aa5848207502000002および API_secret 7375d7d1e89d3d602b184432fbcf3c09c7cb30676f19af9ac57d228be401

使用する必要がありますSecureRandomか?

ありがとう!

4

2 に答える 2

11

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はかなり良さそうです。

于 2012-07-30T02:41:14.083 に答える
0

authlogic_apiを試しました。実装はかなり簡単でした。

于 2012-07-30T03:25:53.887 に答える