前言
在前端开发中,用户授权登陆是很常见的需求。为了快速实现这个需求,npm 社区提供了很多第三方的用户授权登陆包。本文将介绍如何使用 passport-linkedin-oauth2 包来进行 LinkedIn 授权登陆的实现。
安装
使用 npm 命令安装 passport-linkedin-oauth2
npm install passport-linkedin-oauth2
使用
1.首先,需要先在 LinkedIn Developer 配置应用,并获取到 clientID 和 clientSecret。在配置应用时需要在“Authorized Redirect URLs”中添加回调地址,例如:
http://localhost:3000/auth/linkedin/callback
2.在 Node.js 中引入 passport、passport-linkedin-oauth2 和 express-session 包,并配置 passport 使用 express-session
-- -------------------- ---- ------- ----- ------- - ------------------- ----- -------- - -------------------- ----- ------- - --------------------------- ----- ---------------- - --------------------------------------------- ------------- --- ----------------- - --------- ------------------- ------------- ----------------------- ------------ ----------------------------------------------- ------ ----------------- ------------------ -- ----- -------- --- ---- -- -------- ------------- ------------- -------- ----- - -- ---------------------------------------- ------ ---------- --------- - - -- -------- --------- ------- ----------------- ------- ------ ------------------ ----- -- -- ------------------------------- ----------------------------展开代码
3.在 express 中添加登陆路由
-- -------------------- ---- ------- ------------------------- ----------------------------------- -------- -------------------------- --------------------------------- - ---------------- --------- --- -------- ----- ---- - -- -------------- ------------------ - --展开代码
4.使用 passport.authenticate 中间件来保护需要登陆才能访问的路由
app.get("/", function (req, res) { // 需要登陆后才能访问的页面 if (req.isAuthenticated()) { res.send("Welcome, " + req.user.displayName); } else { res.redirect("/login"); } });
完整示例代码
-- -------------------- ---- ------- ----- ------- - ------------------- ----- -------- - -------------------- ----- ------- - --------------------------- ----- ---------------- - --------------------------------------------- ----- --- - ---------- ------------- -------- ------- ----- ------------------ - ----------------- ----- ---------------------- - --------------------- ----- -------------- - ----------------- ------------- --- ----------------- - --------- ------------------- ------------- ----------------------- ------------ ----------------------------------------------- ------ ----------------- ------------------ -- -------- ------------- ------------- -------- ----- - -- ---------------------------------------- ------ ---------- --------- - - -- ------------------------------- ------ ----- - ---------- ------ --- --------------------------------- ----- ----- - ---------- ----- --- -------- --------- ------- --------------- ------- ------ ------------------ ----- -- -- ------------------------------- ---------------------------- ------------ -------- ----- ---- - -- ----------------------- - ------------------ - ----- -------- --- - ---- - ----------------------- - --- -------- ----------------- --------------------------------- - ------ -------------------- -- -- -------- -------------------------- --------------------------------- - ---------------- --------- --- -------- ----- ---- - -- -------------- ------------------ - -- ----------------- -------- ----- ---- - -------------------- --- ------------------ -------- ----- ---- - ------------- ------------------ --- ---------------- -- -- ---------------------- -- ---- ------------展开代码
结语
本文介绍了如何使用 passport-linkedin-oauth2 包来进行 LinkedIn 授权登陆的实现。授权登陆是前端开发中的一个常见需求,应用到了很多前端技术,如 npm、passport、express 等,同时也需要涉及到一些后端的技术和知识,如回调函数、API 授权等。希望本文对大家有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/71504