npm包passport-planningcenter-oauth2的使用教程

阅读时长 6 分钟读完

前言

相信在做前端开发的过程中,肯定有接触过第三方登录的功能,如QQ登录、微信登录等等。passport-planningcenter-oauth2就是一款基于Passport的Node.js包,用于处理Planning Center的OAuth2验证。

安装

使用npm进行安装:

使用

首先,我们需要在Planning Center中的开发者中心创建应用程序,获取客户端ID和客户端密码。

在应用程序的设置中,需要填写回调URL,这是当用户验证成功后,Planning Center通过这个URL将授权码发送回我们的服务器端。

接下来,我们来看一下passport-planningcenter-oauth2如何使用。

配置

首先,需要引入passport-planningcenter-oauth2和passport:

然后,通过创建一个 Strategy 实例,将客户端ID、密码、回调URL和回调函数作为参数传入来配置插件。如下所示:

其中,profile 即为我们获取到的用户信息。

集成

接下来,要将我们的passport配置至我们的应用程序中。为了保持代码简洁,这里只展示了主要内容。

-- -------------------- ---- -------
----- ------- - -------------------
----- --- - ----------

-------------------------------
----------------------------

-------------------------------------- ------------------------------------------------

----------------------------------------------- ---------------------------------------------- -
    ---------------- -------------
    ---------------- --------
----

我们通过 passport.initialize()passport.session() 来启用Passport的Session支持。然后,在 /auth/planningcenter-oauth2 路径下,使用 passport.authenticate() 来触发授权流程,即当用户单击了这个链接时,会跳转到Planning Center的登录页面进行授权操作。完成授权后,会将授权码发送至我们的回调URL,从而进行token的获取。在 successRedirect 中,表示授权成功后将用户重定向到哪里。

获取用户信息

获取用户的信息非常简单,只需要在 done 回调函数中,将 profile 作为参数返回给调用方即可。

例如,我们可以通过 GET 请求获取用户信息:

完整示例

-- -------------------- ---- -------
----- ------- - -------------------
----- -------- - --------------------
----- ---------------------------- - ------------------------------------------
----- --- - ----------

-------------------------------
----------------------------

----------------------------- ----- -- -
    ---------- ------
---

------------------------------ ----- -- -
    ---------- -----
---

---------------- ------------------------------
    --------- ---------------
    ------------- -------------------
    ------------ -----------------------------------------------------------
-- ------------- ------------- -------- ----- -- -
    ------ ---------- ---------
----

-------------------------------------- ------------------------------------------------

----------------------------------------------- ---------------------------------------------- -
    ---------------- -------------
    ---------------- --------
----

------------------- ----- ---- -- -
    -------------------------------
---

---------------- -- -- -
    ------------------- -----------
---

结语

passport-planningcenter-oauth2是一个非常实用的npm包,通过它我们可以很方便的进行Planning Center的OAuth2验证。本文通过详细的流程和示例代码,希望可以帮助到有需要的开发者们。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055c0a81e8991b448d9aa3

纠错
反馈