2016-07-15 69 views
1

我正在为我的rails应用程序构建API。通过该API,我将登录用户并允许他们与他们的数据进行交互。如何只允许我自己的应用程序访问我的API

除了那个用户认证之外,我还想确保只有我的iOS应用程序可以访问API,并最终访问我自己的Web应用程序。

我想确保没有其他人会使用API​​,因此在用户身份验证之上,我希望使用每个应用程序的令牌来保护我的API。

你通常如何解决这个问题?我是否必须在每次调用时都传递该令牌,以便验证呼叫是否来自有效客户端并确定它是哪个客户端(Web vs iOS)。

我会非常感谢任何指针,或者如果你知道一篇文章解释如何处理这个。

+0

检出[jtw](https://jwt.io/introduction/) –

+0

谢谢@JigneshAgola,我使用jwt来验证用户。也许我只是混淆了概念,但是我想在验证用户身份的过程中做的只是授权我的应用程序再次提出API请求,并且阻止其他人再次构建我的API。 –

回答

0

由于您已经在使用jwt来验证您的用户,为什么不仅仅使用jwt的功能在令牌中包含附加信息,在这种情况下,某种形式的散列字符串可以验证服务器端是否有效“客户端ID”。 在每个请求上,您都可以刷新字符串。

每种请求中的双重身份验证的种类。用户和客户。

+0

我喜欢@stewart的想法 –

相关问题