我在tomcat和移动应用程序下部署了一个JAX-RS应用程序。 我想知道如何使webservice只能由移动应用程序使用,换句话说,只允许访问给定的应用程序
答案 0 :(得分:0)
当一个请求通过互联网进入时,确实没有一种安全的方法可以确定哪个应用程序发送了请求。应用程序可以根据需要识别自己。如果需要,您可以尝试以某种方式隐藏应用程序中的凭据,并使用这些凭据登录。但是,如果有人发现这些凭据,他们可以编写一个程序,使用它们假装你的应用程序。问题是你不能指望对客户端系统的任何控制。客户端系统总是可以改变,假装不是它。
答案 1 :(得分:0)
从我的角度来看,您可以在调用请求中添加用户名/加密密码,然后将其与服务器端保存的密码进行比较
答案 2 :(得分:0)
如果您真的想要,您可以实施某种形式的加密。例如,JAX-RS服务可以发送401禁止并为客户端提供nonce以使用其私钥进行签名,然后在Authorization标头中发送回服务器。否则,坚持使用HTTP身份验证。如果您通过HTTPS进行通信,那么基本身份验证就可以了。