2016-12-22 19 views
1

モバイルデバイスのみがサーバー側のREST APIにアクセスできるようにすることは可能です(Based on spring framework)モバイルデバイスのみのREST APIへのアクセスを許可する

+0

いいえ、不可能です。 http://softwareengineering.stackexchange.com/questions/219028/how-to-safeguard-a-rest-api-for-only-trusted-mobile-applicationsにアクセスしてください。 – Bhavin

+0

@Bhavinそれは3年前、多分何か変わった(: – GVArt

答えて

0

私はちょうど解決策を見つけましたが、それが最良の方法だとは言えませんが、とにかくそれが機能します。そのために私はspring-mobile library

を使用しているコードは、デバイスの種類を確認し、彼はAPIにアクセスしたりしないようにできるようにするために知って、新しいインターセプターを作成します。それを追加した構成クラスでは

public class MobileDeviceInterceptor extends HandlerInterceptorAdapter { 

    @Override 
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { 
     Device d = new LiteDeviceResolver().resolveDevice(request); 
     if(!d.isNormal()) { 
      return true; 
     } 
     response.sendError(HttpServletResponse.SC_FORBIDDEN); 
     return false; 
    } 
} 

public class AppConfig extends WebMvcConfigurerAdapter { 
    ... 

    @Bean 
    public MobileDeviceInterceptor deviceTypeInterceptor(){ 
     return new MobileDeviceInterceptor(); 
    } 

    @Override 
    public void addInterceptors(InterceptorRegistry registry) { 
     registry.addInterceptor(deviceTypeInterceptor()); 
    } 
} 

今すぐテストしてください。あなたはUser-Agentヘッダは、たとえばモバイル値に非モバイルプラットフォーム上で変更されたかどうかを知る必要があり

  • アンドロイドアプリ
  • シルク
  • ...

このインターセプタはアクセスを許可します。

関連する問題