我觉得我的cordova应用程序可能遇到的问题是能够正确地验证对提供数据的api的请求。现在,我正在使用带有Angular拦截器的标准JWT身份验证,包括带有api的每个http请求的令牌。 api(rails)运行一种方法,在将令牌传递给正确的控制器操作之前验证令牌。
我看到的问题是能够通过从localstorage获取令牌并向api发出请求并绕过相关的客户端验证来向api发出请求。
由于Web视图可以在混合应用程序中轻松访问(不进行编译或混淆),因此实际上无法使用Web视图将令牌传递给api以确保对api的每个请求实际上来自于应用程序,而不是任何其他东西(保持客户端验证的机智,并使其更容易加强验证服务器端)。
我提出的一个潜在解决方案是使用cordova插件(它将使用本机API并在应用程序构建正确时进行编译?)这也会拦截http请求并发送随每个请求而变化的哈希像2因素Auth。这将被检查并验证服务器端,以确保每个请求实际上来自应用程序。
我的问题是:这是否是正确认证的可行选择,就像这样已经写好了。如果它还没有完成,那么编写这样的插件需要什么呢?
我真的很感激任何意见!