我们有一个用于我们网站的网络公共API服务。如何限制我们的网站可以访问我们的api?
网站和API使用相同的域名,因此CORS无法提供帮助。 API由NodeJS&表达
答案 0 :(得分:2)
您可以使用称为JWT-JSON Web令牌的内容。现在用于验证Web服务的现代和最简单的工具。将JWT与nodeJs一起使用真的很简单。
步骤1:为节点安装JWT。
npm install jwt
第2步:创建JWT令牌。示例
token = jwt.sign({
url:"www.abc.com",
param2: value2,
param3: value3,
accesstoken: casjzhiy15t4e78y8bnvkds98u2e3098nc1bxu
}, "HASHKEY");
这里,params可以是你想要添加到令牌的任何东西,而HASHKEY应该是一个字符串值。而已。现在,您可以复制生成的令牌,将相同的令牌传递给来自Web的API调用。
第3步:验证API中的令牌
var adminToken = req.headers.admintoken;
var decoded = jwt.verify(adminToken, 'HASHKEY');
if(decoded.PARAM1 == "VALUE1"){
//Request is coming from an authenticated source
}
您可以参考官方JWT文档以获取更多详细信息。