小明:最近我在开发一个在线系统,想要实现统一身份认证,有什么好的方案吗?

小李:你可以考虑使用OAuth 2.0或者JWT来实现。它们都是目前比较流行的解决方案。
小明:那能给我举个例子吗?比如用JWT怎么实现?
小李:当然可以。下面是一个简单的JWT生成和验证的代码示例:
// 生成JWT
const jwt = require('jsonwebtoken');
const token = jwt.sign({ user: 'admin' }, 'secret_key', { expiresIn: '1h' });
console.log(token);
// 验证JWT
jwt.verify(token, 'secret_key', (err, decoded) => {
if (err) return console.error(err);
console.log(decoded);
});
小明:明白了!那在在线系统中如何集成呢?
小李:你可以在前端登录后获取到Token,并将其存储在localStorage或Cookie中,后续请求时携带这个Token进行身份验证。
小明:听起来不错。那有没有更安全的方式?
小李:可以结合OAuth 2.0,使用授权码模式,让第三方平台处理用户认证,这样更安全可靠。
小明:好的,我明白了。感谢你的帮助!
小李:不客气,有需要随时问我!
