在前端开发的过程中,常常需要进行用户认证。而针对网站和应用前端开发的用户认证,Passport是一个十分优秀的解决方案。作为Node.js中最流行的用户认证库,Passport提供了多种策略来适应不同的用户认证需求。其中,passport-medium-v2是Passport的一个补充包,支持Medium.com OAuth2认证的实现。本文将向您介绍如何使用npm包passport-medium-v2,从而实现网站和应用前端上的Medium.com OAuth2认证。
准备参数
在使用npm包passport-medium-v2进行网站和应用前端上的Medium.com OAuth2认证之前,您需要先准备好以下参数:
CLIENT_ID
(您注册应用程序时得到的Client ID)CLIENT_SECRET
(您注册应用程序时得到的Client Secret)CALLBACK_URL
(Medium重定向的同意或拒绝用户授权后,您的应用程序将被发送到的URL)
安装包
在使用passport-medium-v2之前,需要先将其安装到您的应用程序中。您可以通过以下命令在npm中安装passport-medium-v2包:
--- - ------------------
在代码中引入passport-medium-v2
在您的代码中引入passport
和passport-medium-v2
,并配置策略(Strategy)'
----- -------- - -------------------- ----- -------------- - --------------------------------------- ---------------- ---------------- --------- ----------------- ------------- --------------------- ------------ -------------------- -- ------------- ------------- -------- --- -- - ----- ---- - - ------------ ------------- --------- ----------------- -------- ----------------- -- ------ -------- ------ ----
在策略(Strategy)中,“clientID
”是您注册应用程序时得到的Client ID,“clientSecret
”是您注册应用程序时得到的Client Secret,“callbackURL
”是Medium重定向的同意或拒绝用户授权后,您的应用程序将被发送到的URL。
在Express应用程序中使用passport-medium-v2
结合Express 中间件和路由器使用passport
和passport-medium-v2
:
----- ------- - ------------------- ----- -------- - -------------------- ----- -------------- - --------------------------------------- ----- --- - ---------- ------------------------------- ---------------------------- ----------------------------- --- -- - -------- ------ --- ------------------------------ --- -- - -------- ----- --- ---------------- ---------------- --------- ----------------- ------------- --------------------- ------------ -------------------- -- ------------- ------------- -------- --- -- - ----- ---- - - ------------ ------------- --------- ----------------- -------- ----------------- -- ------ -------- ------ ---- ----------------------- --------------------------------- -------------------------------- ------------------------------- - ---------------- ------- --- ----- ---- -- - ------------------ ---
在本示例中,我们创建了一个Express应用程序,并使用passport
中间件和路由器。在路由器中,我们定义了两个路径:
- “/auth/medium”将引导用户到Medium.com 的身份验证页面
- “/auth/medium/callback”路由将被Medium.com 重定向,确认用户授权,并将授权结果发送给指定的URL
示例代码
下面是一个完整的示例,您可以通过Node.js运行这个文件,然后访问“/auth/medium”路径来启动认证过程。
----- -------- - -------------------- ----- ------- - ------------------- ----- -------------- - --------------------------------------- ----- --- - ---------- ----------------------------- --- -- - -------- ------ --- ------------------------------ --- -- - -------- ----- --- ---------------- ---------------- --------- ----------------- ------------- --------------------- ------------ -------------------- -- ------------- ------------- -------- --- -- - ----- ---- - - ------------ ------------- --------- ----------------- -------- ----------------- -- ------ -------- ------ - --- --------------------------------------- ----------------------------------------- - ------------------ ---------------- --------- - ---------------- ------------- -------- ------- ------------------------------------ ------------------------------------------- --------- ----- ---- ------------------------------------ ------- --------- ----- ------- ----- ------------------ ---- ---- ------------------------------- ---------------------------- ------------ ----- ---- -- - ----- -------- - -------- - ------------------------ ----- -- - ----- --- -------------- ------------------- - ----- --------- -------- --- --- ----------------- ----- ---- -- - -------------------- --- ----------------------- --------------------------------- -------------------------------- ------------------------------- - ---------------- -------- --- ----- ---- -- - ------------------ --- ------------------ ----- ---- -- - ------------- ------------------ --- ---------------- -- -- - -------------------- --- --------- -- ---- -------- ------------------ --- -------- ------ ------------------------------ ---
结语
本文向您介绍了如何使用npm包passport-medium-v2,从而在网站和应用前端上实现Medium.com OAuth2认证。如有任何疑问和意见,请与我们联系。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60057c4881e8991b448ebcd9