我编写了一个C#MVC5 Internet应用程序,我有一个返回JSON数据的Web API 2 Web服务。我正在Android应用程序中检索此JSON数据。
如何向Web服务添加功能,以便只有我的Android应用程序才能检索JSON数据?我想这样做,以便其他网站用户无法敲击网址,网络服务也不会将我的数据发送给不需要的应用程序和/或用户。
这可能吗?如果是这样,我该怎么做?
提前致谢。
答案 0 :(得分:0)
事实上,您有多种方法可以实现这一目标。
例如,您可以在Android应用程序中存储密钥,并将此密钥与请求一起发送到您的WebAPI。您的webAPI将检查它们的密钥是否有效,如果是,它将返回JSon。
但是,没有办法确保没有其他人可以请求并获取您的数据。例如,通过对您的Android应用程序进行逆向工程并提取密钥,或者通过监控网络流量并在那里找到密钥。
您需要了解没有保证100%安全的权利。
请参阅以下内容:
你现在有一扇敞开的门,你可以一点一点地关闭它,但关闭和锁定是不可能的。总会有差距。房子也不能通过防盗证明,但是你可以让一个虫子很难进入。
答案 1 :(得分:0)
转到此链接Web Api。我已经为我的web api使用了个人身份验证。当您注册用户时,您将获得的响应是访问令牌,如果您使用Jquery ajax来调用Web Api,则在您的ajax调用中将该访问令牌用作Authentication头。请参阅此The OAuth 2.0 Authorization Framework。希望这能帮助你。
答案 2 :(得分:-3)
如果您有其他Web服务器,则应该有适当的方法来支持此类服务器。