rails-api gem special を使用して、API のみのアプリケーションを作成したいと考えています。認証メカニズムを提供するために、 Railscasts #352で説明されている組み込みのauthenticate_or_request_with_http_tokenメソッドを使用したいのですが、このメソッドはここにありません。
on rails-api gemの経験がある人はいますか?
PS私はこのアプローチを見ることができますが、これは本番環境に対応していますか?
rails-api gem special を使用して、API のみのアプリケーションを作成したいと考えています。認証メカニズムを提供するために、 Railscasts #352で説明されている組み込みのauthenticate_or_request_with_http_tokenメソッドを使用したいのですが、このメソッドはここにありません。
on rails-api gemの経験がある人はいますか?
PS私はこのアプローチを見ることができますが、これは本番環境に対応していますか?
rails-api を使ってサービスを開発中です。まだ展開していませんが、その時が近づいており、テストで問題は発生していません。rails-api は削除されているため、使用したい必須ではないモジュールを含める必要があります。次のように ApplicationController で authenticate_or_request_with_http_token を使用しています。
include ActionController::HttpAuthentication::Token::ControllerMethods
def authenticate
authenticate_or_request_with_http_token do |token, options|
apiKey = ApiKey.where(auth_token: token).first
@current_user = apiKey.user if apiKey
end
end
トークンだけが必要な場合は、便利なメソッド token_and_options があります。
include ActionController::HttpAuthentication::Token
def current_user
api_key = ApiKey.where(auth_token: token_and_options(request)).first
User.find(api_key.user_id) if api_key
end
READMEから:
基本認証、ダイジェスト認証、およびトークン認証: Rails には、3 種類の HTTP 認証が標準でサポートされています。
そうです、これは本番環境に対応しています (結局のところ、Rails のままです)。リンク先の例がその方法です (秘訣は、Action Pack から必要なものだけを含めることです)。