我有一个API,建立与node.js的& express.js。现在我有一个不安全的API,任何人都可以GET,POST,PUT,DELETE记录。如何保护我的REST-API?
我面临以下问题。我的休息API不应该认证用户,但应用程序。例如。我的移动应用程序应该有一个有效的令牌来访问api。相同的Web应用程序。
另一个用户案例:我的API将只使用一个单一的REST调用其他应用程序使用。因此,在我不知道的应用程序中的某处(大部分情况下),会触发我api上的其余呼叫。我怎样才能保证这种访问,因为不涉及cookies或会话?
我的第一个想法是,创建一个用户和密码。每个API调用(通过https)都必须包含凭据。密码可能被散列。但是我读这
用户名和密码,会话令牌和API密钥在URL中不应该出现 ,因为这会导致Web服务器日志被捕获,并让他们 内在价值。
从https://www.owasp.org/index.php/REST_Security_Cheat_Sheet
对此有何建议?我阅读了oauth,但这涉及重定向,我无法想象这将如何与移动应用程序协同工作,例如在Android上。