npm 包 braingames-snsin 使用教程

阅读时长 7 分钟读完

简介

braingames-snsin 是一个 npm 包,旨在帮助前端开发人员快速实现社交登录的功能。它支持多种社交平台的登录,包括 Facebook、Google、Twitter 等。

本文将详细介绍 braingames-snsin 的使用方法,带领读者从零开始实现社交登录功能,在实践中深入了解社交登录相关知识点。

安装

通过 npm 安装最新版本:

使用

1. 配置 OAuth 应用

在使用 braingames-snsin 之前,你需要先在对应的社交平台上申请 OAuth 应用,并得到应用的 Client ID 和 Client Secret。下面以 Facebook 为例介绍如何创建 OAuth 应用:

  1. 打开 Facebook for Developers,登录账号并创建一个应用;
  2. 在左侧导航中选中「产品」-「Facebook 登录」,然后点击「设置」按钮;
  3. 在「设置」菜单中,设置「有效的 OAuth 重定向 URI」为你的应用的回调地址,如:http://localhost:8080/oauth/facebook/callback
  4. 按照界面提示,在代码中引用 SDK 并初始化应用,并使用 Client ID 和 Client Secret 完成 OAuth 授权流程。

待所有社交平台的 OAuth 应用均设置完成后,我们可以开始使用 braingames-snsin

2. 引入 BraingamesSNSIn

在你的项目中引入 BraingamesSNSIn

3. 初始化

初始化 BraingamesSNSIn

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

其中,facebookgoogletwitter 分别对应不同的社交平台。你需要传入你在第一步中获得的 Client ID 和 Redirect URI。

4. 点击社交登录链接

你可以使用 snsIn.getLoginUrl('FACEBOOK')FACEBOOK 可替换为其他社交平台) 获取社交登录链接,并在页面上展示给用户:

你也可以自行根据社交平台提供的 SDK 实现社交登录按钮的点击事件。

5. 处理社交平台回调

当用户完成社交登录时,社交平台会重定向回你的应用的 Redirect URI,并携带授权信息。你需要在对应的路由中,解析授权信息,获取用户信息并进行处理。

以 Express.js 为例,处理 Facebook 登录的路由如下:

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

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

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

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

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

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

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

其中,code 是社交平台回调携带的授权码,accessToken 是根据授权码获取的 Token,userInfo 是根据 Token 获取的用户信息。

6. 完整示例

下面是一个完整的社交登录示例代码:

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

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

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

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

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

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

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

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

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

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

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

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

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

你可以自定义如何展示登录按钮和处理登录后的逻辑。只要在 onFacebookLogin 函数中,使用 snsIn 来获取社交平台的授权信息即可。

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

纠错
反馈