npm 包 node-wechat-oauth 使用教程

阅读时长 4 分钟读完

node-wechat-oauth 是一个 Node.js 的库,它可以快速实现微信 OAuth2.0 的认证和授权功能。在前端开发中,微信 OAuth2.0 是非常常用的功能,可以用于网站在用户使用微信登录时进行认证和授权操作。本篇文章将详细讲解如何使用 npm 包 node-wechat-oauth 实现微信 OAuth2.0 的认证和授权。

安装

我们可以通过 npm 安装 node-wechat-oauth:

使用

在使用 node-wechat-oauth 前,我们需要先在微信公众平台上创建一个网页应用并获取凭证(AppID 和 AppSecret)。在创建成功后,我们可以通过以下代码创建一个 OAuth 实例:

我们需要将 APP_ID 和 APP_SECRET 替换为我们自己的凭证。

获取授权 URL

通过如下代码可以获取授权 URL:

其中:

  • REDIRECT_URI:授权后重定向的回调链接地址,需要是 URL 编码后的字符串。
  • STATE:用于保持请求和回调的状态,授权请求后原样带回给第三方。
  • SCOPE:授权作用域,snsapi_base (不弹出授权页面,直接跳转),snsapi_userinfo(弹出授权页面,可通过 openid 拿到昵称、性别、所在地)。

例如:

获取 Access Token

通过授权 URL 获取 code 后,我们可以通过以下代码获取 access_token 和 openid:

其中,code 为获取到的 code。

获取用户信息

我们可以通过 access_token 和 openid 获取用户信息:

其中,token.openid 是用户的 openid,token.access_token 是通过 getAccessToken 获取到的 access_token。

示例代码

下面是一个完整的示例代码:

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

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

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

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

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

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

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

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

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

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

在上面的代码中,当用户访问 /auth 路由时,会跳转到微信授权页面进行授权,授权后会跳转到 /callback 路由,在 /callback 路由中我们可以通过 getUser 方法获取到用户信息。

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

纠错
反馈