繁体   English   中英

在没有用户名/密码的情况下对所有对REST API的请求进行身份验证以获取任何令牌

[英]Authenticate all Request to REST API with no username/password to get any token

我正在销售产品,API从节点后端获取产品并显示在有角前端上,后端是集中式的,并且有角前端在多个域上,我需要对从我的有角前端发出的所有请求进行身份验证节点后端。 用户没有帐户。 我需要确保没有其他人通过POSTMAN或其他服务复制产品数据。 JWT无法正常工作,因为公开了请求,因此可以复制令牌,因此身份验证将不起作用。 我只需要有角度的前端就可以发出请求,并且可以验证请求的来源。 谁能建议我下一步该怎么做? 任何帮助将不胜感激。 提前致谢。

也许像检查原始IP地址一样? 您应该可以通过以下方式在Node Express后端中获取IP:

if (req.ip == 127.0.0.1) // whatever IP your angular app is hosted at

您可以尝试通过CORS属性将前端域列入白名单,也可以使用中间件来检查请求url。

中间件示例

var whitelistedURL = ['abc.com','abc.xyz']
function(req, res, next){
    if(whitelistedURL.indexOf(req.originalUrl)==-1){
        res.send({
            status: 'Unauthorised'
        })
    }else{
        next()
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM