我一直在为 iPhone 应用程序(主要是 Jersey REST)做这个 Java 后端,并实现了一些 Web 服务,比如注册和登录。显然我需要用户名和 pin 等参数。由于此服务更改了数据库中的状态,因此我将它们设置为 POST,并且我使用了 @FormParams Jersey 注释作为参数。在客户端工作的人不断在标题中发送用户名和 pin,并且花了一点时间才发现问题出在哪里。
这是将类似身份验证的数据放在标头中的标准吗?你怎么做呢?
我一直在为 iPhone 应用程序(主要是 Jersey REST)做这个 Java 后端,并实现了一些 Web 服务,比如注册和登录。显然我需要用户名和 pin 等参数。由于此服务更改了数据库中的状态,因此我将它们设置为 POST,并且我使用了 @FormParams Jersey 注释作为参数。在客户端工作的人不断在标题中发送用户名和 pin,并且花了一点时间才发现问题出在哪里。
这是将类似身份验证的数据放在标头中的标准吗?你怎么做呢?
如果您使用基本身份验证等标准 http 身份验证机制,
则凭据将在 http 标头中发送
像这样的东西
POST /private/index.html HTTP/1.1
Host: localhost
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
如果您打算通过不安全的网络公开此后端,我建议您使用 https - 因为它会加密您的标头
但是,如果您正在实现自己的身份验证机制 - 那么您可以将凭据传递到您喜欢的任何地方(标题或正文),这样 - 您的后端将知道在哪里查找用户名和密码。