我在登录时使用了Node.js和Auth0。我使用快速启动指南来启动API。下面是我使用Auth0 API的后端。
var jwtCheck = jwt({
secret: jwks.expressJwtSecret({
cache: true,
rateLimit: true,
jwksRequestsPerMinute: 5,
jwksUri: 'https://xxxx.auth0.com/.well-known/jwks.json'
}),
audience: 'http://localhost:3002',
issuer: 'https://xxxx.auth0.com/',
algorithms: ['RS256']
});
app.get('/authorized', function (req, res) {
res.send('Secured Resource');
});
在我使用Auth0通用登录登录后,我尝试访问我的后端并查看我是否获得了授权。
这是检查我是否被授权的代码。
tempCheck() {
this.http.get("http://localhost:3002/authorized").subscribe(data => {
console.log(data);
});
}
注意,我没有传递任何东西(我认为我需要这样做,但是Auth0指南并没有告诉我)。
在检查以确定我是否被授权后,我得到了错误,没有找到autho令牌。不知道我在这里做什么。我的后端没有正确连接吗?
这里的想法是使用Auth0登录。然后,每当我想用数据库预编CRUD操作时,我想先使用后端来验证用户,然后再执行CRUD操作。
任何帮助都将不胜感激。
更新:我通过了测试,这对我来说更有意义。所以当我启动服务器使用Auth0时。我必须获取令牌并与Auth0一起使用它。在某种程度上,我正在使用Auth0进行验证,以使我的服务器能够使用Auth0。
现在我的服务器被验证了。
然后当用户想要执行CRUD操作时,我发送他/她唯一的Auth0 ID,在我的服务器上验证它,然后如果他/她是有效的,则执行该操作。
发布于 2019-11-09 11:32:03
如果您有令牌,那么对于每个服务,您必须在标头中提供密钥授权。在服务器上,将验证此令牌。阅读更多的How to add Authorization Header to Angular http request?。在这个使用的角度框架中,但是对于普通的JavaScript,您必须在ajax调用中提供它。
https://stackoverflow.com/questions/58782639
复制相似问题