Javascript 基本身份验证&x2B;RESTAPI

Javascript 基本身份验证&x2B;RESTAPI,javascript,rest,api,basic-authentication,Javascript,Rest,Api,Basic Authentication,我正在开发一个RESTAPI,它将从javascript中使用 因此,如果使用基本身份验证,用户和passoword(用base64编码)将在客户端浏览器上运行的java脚本上可见 如何保护我的API?我必须使用CORS()来保护它吗? 很抱歉提出这个新问题。评论对话中的注释: 从另一个站点验证Web服务;不向任何用户开放 我认为您必须对身份验证进行个性化,我认为基本身份验证不可能/不实用。我建议使用某种+OAuth,因为您有用户在其他站点上进行身份验证 为了保护API,APIGEE sto

我正在开发一个RESTAPI,它将从javascript中使用

因此,如果使用基本身份验证,用户和passoword(用base64编码)将在客户端浏览器上运行的java脚本上可见

如何保护我的API?我必须使用CORS()来保护它吗?
很抱歉提出这个新问题。

评论对话中的注释:

  • 从另一个站点验证Web服务;不向任何用户开放

我认为您必须对身份验证进行个性化,我认为基本身份验证不可能/不实用。我建议使用某种+OAuth,因为您有用户在其他站点上进行身份验证

为了保护API,APIGEE stormpath建议使用不同的基于身份验证的安全技术

OAuth 2.0 OAuth 1.0a


理想情况下,您应该避免基本的身份验证,这不是最佳实践之一。

问题指出,您寻求保护API和从基于浏览器的Javascript访问它,这使得“保护”的定义有点模糊。你能澄清一下吗?让我澄清一下:我的用户已经通过了第三方网站的身份验证。这是一个电子商务网站。我们正在电子商务网站的同一台服务器上部署html+js页面,这个js将调用我们的API。因此,我需要保护我的API不被未经授权的用户调用。当我说用户可以是登录用户,或者只是接受来自网站域的呼叫时,我建议使用oAuth,这个链接提供了一些有用的方法。隐式授权或本文下面进一步建议的瘦客户机方法应该会有所帮助:此外,基本身份验证通常被认为不太安全,因为您需要在每次请求时重新发送密码(如果您使用SSL,则以加密形式发送,但决不能减少,从而增加攻击窗口的大小)。这里有一个关于这一点的链接:我认为在这种情况下你是安全的,因为只有用户(或登录后在浏览器上的人,这是不可能安全的)才能访问页面上的javascript。我唯一的建议是避免将凭据放在本地存储/cookie中,但这可能不是问题anyway@JohnDoe:但是如果一个登录的用户看到js,并获得基本的身份验证信息?此基本身份验证信息将在用户之间共享。我可以让一个恶意用户使用我的API获取基本身份验证信息并从其他用户检索信息