我在Nginx服务器后面运行Node.js微服务 我已经创建了一个新的Node.js服务来验证和授权访问所有其他服务 我希望nginx允许基于身份验证服务响应访问所请求的服务
例如:
如果用户请求“/ user / id / edit”
我希望Nginx首先将请求指向“/ auth”
然后根据“/ auth”响应Nginx决定继续“/ user / id / edit”
或作为回复返回错误
我找不到任何有关此案例的教程或文档
答案 0 :(得分:0)
以下是取自Spotify-Web-Auth-API-Example的示例代码:
app.get('/login', function(req, res) {
var state = generateRandomString(16);
res.cookie(stateKey, state);
// your application requests authorization
var scope = 'user-read-private user-read-email';
res.redirect('https://accounts.spotify.com/authorize?' +
querystring.stringify({
response_type: 'code',
client_id: client_id,
scope: scope,
redirect_uri: redirect_uri,
state: state
}));
});
从上面的代码可以看出,在node.js代码本身中,您可以执行重定向(将请求重定向到登录端点)到授权服务,然后控制访问。
您不需要明确地使用nginx配置。
此外,请阅读此相关查询 - Authorization approaches and design patterns for Node.js applications