可以使用Apigee网关来为REST API请求进行认证和授权,并调用另一个REST API。以下是示例代码:
在Apigee中创建一个API代理,并在该代理的'API资源”中配置认证和授权规则。
在代理端点中调用另一个REST API:
var options = {
target: 'http://example.com/api',
headers: {
'Authorization': 'Bearer ' + context.getVariable('accessToken')
}
};
// send the request
httpClient.send(request, options, function(error, response) {
if (error) throw new Error(error);
// set the response as the message content
context.setVariable('message.content', response.content);
});
if (!request.headers.authorization || request.headers.authorization.indexOf('Bearer ') === -1) {
sendError(response, 401, 'Unauthorized');
return;
}
var accessToken = request.headers.authorization.substring(7);
if (accessToken !== 'mySecretToken') {
sendError(response, 403, 'Access Forbidden');
return;
}
// handle the request