首先,在构建API时,使用基本认证。这需要收集基本用户名和密码,然后在将身份验证凭据与每个API请求一起发送时使用它们。
在安全性方面,凭证轮换是促进数据安全的一种方法。实现这个想法是,让用户在既定的时间间隔内更改其凭证。这样,即使凭证已泄露,可用时间也会降低。
在Node.js中,可以使用模块“passport”的“BasicStrategy”来实现基本认证。
const passport = require('passport');
const BasicStrategy = require('passport-http').BasicStrategy;
passport.use(new BasicStrategy(
function(username, password, done) {
User.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false); }
if (!user.validPassword(password)) { return done(null, false); }
return done(null, user);
});
}
));
const axios = require('axios');
function changeCredentials() {
// 移除此处的用户名和密码
const newUsername = "";
const newPassword = "";
axios.put('API endpoint', {}, {
auth: {
username: newUsername,
password: newPassword
}
})
.then(() => console.log('Credentials successfully changed'))
.catch((err) => console.error(err));
}
// 每小时更新一次凭证
setInterval(changeCredentials, 60 * 60 * 1000);
下一篇:API基本身份验证如何实现?