在前端开发中,社交登录是很常见的需求。passport-weibo 是一个 Node.js 库,可以用于实现微博 OAuth2.0 授权登录。本文将介绍如何使用 passport-weibo 库实现微博授权登录。
安装
使用 npm 命令安装 passport-weibo,命令如下:
npm install passport-weibo --save
使用
在使用 passport-weibo 之前,需要先创建一个微博应用,并获取 App Key 和 App Secret。请前往 微博开放平台 注册应用并获取相应的 App Key 和 App Secret。
然后在应用中引入 passport-weibo 并进行配置,示例代码如下:
-- -------------------- ---- ------- ----- -------- - -------------------- ----- ------------- - ----------------------------------- ---------------- --------------- --------- -------------- ------------- ------------------ ------------ ------------------------------------------- -- --------------------- ------------- -------- ----- - -- ------ ----
这里通过 passport.use()
方法来注册微博策略。其中 clientID
和 clientSecret
分别是你在微博开放平台申请的应用的 App Key 和 App Secret。callbackURL
是用户授权后微博服务器回调的地址。在回调函数中,你可以通过 profile
参数获取到用户信息,处理完毕后可以调用 done()
方法完成授权登录。
接下来需要在应用中添加路由,示例代码如下:
app.get('/auth/weibo', passport.authenticate('weibo')); app.get('/auth/weibo/callback', passport.authenticate('weibo', { failureRedirect: '/login' }), function(req, res) { // 登录成功后的处理 res.redirect('/'); });
这里定义了 /auth/weibo
和 /auth/weibo/callback
两个路由,分别用于发起微博授权请求和接收微博服务器回调。在 /auth/weibo
路由中,调用 passport.authenticate()
方法并传入 'weibo'
参数,表示使用微博策略进行授权登录。在 /auth/weibo/callback
路由中,同样调用 passport.authenticate()
方法,并在回调函数中处理登录成功后的逻辑。
最后,启动应用并访问 /auth/weibo
路由即可开始微博授权登录流程。
总结
本文介绍了如何使用 passport-weibo 库实现微博授权登录。首先需要在微博开放平台注册应用并获取 App Key 和 App Secret,然后在应用中引入 passport-weibo 并配置微博策略。最后通过添加相应的路由完成微博授权登录流程。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/55282