npm 包 passport-depositphotos 使用教程

阅读时长 5 分钟读完

介绍

passport-depositphotos 是一个可以和 Passport 搭配使用的 Node.js 模块,它能让你的 Node.js 应用支持使用 Depositphotos 的 OAuth2 鉴权服务。借助该模块,你可以方便地获取 Depositphotos 的用户授权信息,并使用其提供的 API 完成图片库的相关应用开发。

安装

首先,你需要在应用中安装 passport-depositphotos 模块。使用 npm 进行安装:

安装完成后,在你的应用中引入该模块:

配置

在利用 Depositphotos API 之前,需要先去开发者中心注册一个应用,并获取到应用的 API Key 和 Secret。然后,利用该 API Key 和 Secret,创建一个 DepositphotosStrategy 实例:

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

clientIDclientSecret 是你在 Depositphotos 开发者中心获取到的应用 API Key 和 Secret。callbackURL 则是用户授权成功后,Depositphotos 服务器调用的回调地址,在该地址上可以获取到用户的授权信息。scope 则是所请求的授权范围,可以根据自己的需求进行修改。

在创建好 DepositphotosStrategy 实例后,需在应用中设置用于处理鉴权流程的四个路由:

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

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

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

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

其中,第一个路由实现的是开始用户授权登录流程的过程,它将用户导向 Depositphotos 的授权页面。第二个路由是授权成功后 Depositphotos 服务器调用的回调地址,应用在该回调地址上获取到用户的授权信息,并存储该信息。第三个路由用于用户登出操作,最后一个路由则是一个普通路由,如果用户已经登录,它会将用户定向到账号信息页面,否则跳转到登录页。

使用

在经过上述配置后,任何访问 / 路径的请求都会被重定向到授权页面完成授权操作,然后跳转回你应用的回调地址,这个地址会接受一系列 GET 参数,其中 code 参数是最为关键的,它包含了从 Depositphotos 获取的 Access Token。在回调地址里面的实现中,你可以通过下面的方式,使用 passport.authenticate() 函数来验证授权信息:

如果授权验证成功了,那么在 req.user 对象中就包含了用户的所有信息。在这里,你可以通过该对象中的内容,例如当前登录用户的 ID 和用户名等信息,来完成你的业务逻辑,代码示例如下:

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

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

结束语

以上就是本文介绍的 npm 包 passport-depositphotos 的详细使用教程。借助该包,开发者可以在即有了 Depositphotos 的 OAuth2 授权服务后,方便地在应用中使用 Depositphotos 的 API。而 Passport.js 中间件的使用方式更可以让这一切变得简单快捷,因此,我们在开发应用的过程中,不妨考虑使用它来简化我们的工作流程。

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

纠错
反馈