我们已经建立了一个REST API。该API已构建并且可以正常工作,并且针对每个请求使用基本身份验证。
现在,我们希望构建使用REST API的其他Web应用程序。但是,我们在解决如何在Web应用程序中进行身份验证时遇到了问题。
理想情况下,我们希望Web应用程序显示登录页面,并且用户将输入其REST API的凭据。问题是,一旦用户“登录”到Web应用程序,Web应用程序将如何存储存储的凭据以及在何处存储这些凭据,请记住,在以下情况下需要存储它们以便将凭据提交给REST API。它需要提出任何进一步的要求。
现代网络浏览器必须做类似的事情,不是吗?当我们在浏览器中访问REST API时,它会询问我们一次用户名和密码,但是随后的请求将重新提交我们先前输入的凭据。我们如何在Web应用程序中复制它?我假设将它们存储在会话中是个坏主意...?
-编辑
可能值得指出的是,对REST API的请求将由服务器发出,因此不要将其存储在客户端。
我认为您可能正在处理此错误。如果您有一些业务要求,请在每次请求时都提交用户名和密码,那么您可能应该找到提出要求的人,并尽力对这些要求进行说明。根本没有理由。那就是会议的目的。
您只需对用户进行一次身份验证。通过身份验证后,您可以为该用户提供会话。您不再需要进行身份验证,因为会话会告诉您用户是谁。
让用户在每个请求中输入其凭据将使他们的生活日渐烦恼。将其存储在客户端(在cookie或本地存储中)存在问题,并且对安全性有严重影响。在所有情况下,在每次请求时都通过网络发送用户名/密码对(从理论上讲是通过https安全的)是一个坏主意。这几乎是会话的标志性用例,请使用它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句