2016-07-07 10 views
0

私はSpree gemを使用して開発されたRailsアプリケーションを持っています。セキュリティ上の理由から、私はすべてのAPI機能を無効にしたいと思います。つまり、REST呼び出し、メソッド、ルートを作成する機能です。私は、ほとんどのAPI機能をAPIトークンなしで呼び出すことはできないことに気付きました。既存のアプリケーションからSpree API機能を無効にする方法

API機能を「無効にする」最適な方法は何ですか?

initializer "delete_spree_api_routes", after: "add_routing_paths" do |app| 
    app.routes_reloader.paths.delete_if { |path| path =~ /\/spree(-[^\/]+)?\/api\/config\/routes.rb/ } 
end 

これは何されています。既存のコードベース

+0

GET /api/v1/states)スプリーは、国のために状態のリストを取得するなど、いくつかのケースでは、独自のAPIを使用して、これに注意して、お勧めしたい私はへの道を発見していません既存のセットアップでSpreeでこれを行います。私はこれのためにSpreeのフォークを実行したくないですが、これは私がやらなければならなかったものです:https://github.com/WebGents/spree/commit/e595b9485f00ec1c89fb6052687f8f6cb2d1b912 – mroach

+0

ありがとう@mroachそれはかなりきれいだ。最後に、私にセキュリティの問題を与えていた2つのAPIは、APIトークンを必要としないため、州と国でした。私はそれらにAPIトークン認証を追加することになり、Spree APIの使用例に悪影響を及ぼすことなく動作するように見えました。 –

答えて

1

私はこれまでのところ、私のホストアプリケーションのapplication.rbApplicationクラスの内部にこれを追加して作ってみた限りでは==少なくとも侵入
ベストな方法Spree APIによって提供されたroutes.rbからロードされた場合、ルートからすべてのパスを直ちに削除します。それは少し醜いですが、それは仕事をします。

EDIT:私は

関連する問題