@xvn/passport-zalo

1.0.4 • Public • Published

passport-zalo

Passport strategy for authenticating with Zalo. An application popular in Viet Nam

Reason to make this

Zalo using OAuth2 method to authenciation but don't know why they are use different url parameter with OAuth2.

OAuth2 using: clientID, clientSecret but Zalo using app_id, app_secret

Install

$ npm i @xvn/passport-zalo

Usage

Basic conept

Reference document: Zalo Development

List of parameter using on Zalo:

  • app_id: Application ID
  • app_secret: Application Secret
  • redirect_uri: Callback URL

List of URL using on Zalo:

Configure Strategy

passport.use(
  new ZaloStategy(
    {
      appId: ZALO_APP_ID,
      appSecret: ZALO_APP_SECRET,
      callbackURL: "http://localhost:3000/auth/facebook/callback",
      state: "test",
    },
    function (request, accessToken, profile, cb) {
      // Do anything with params above
      return cb(profile);
    }
  )
);

Authenticate Requests

Use passport.authenticate(), specifying the 'zalo' strategy, to authenticate requests.

For example, as route middleware in an Express application:

app.get("/auth/zalo", passport.authenticate("zalo"));

app.get(
  "/auth/zalo/callback",
  passport.authenticate("zalo", { failureRedirect: "/login" }),
  function (req, res) {
    // Successful authentication, redirect home.
    res.redirect("/");
  }
);

License

The MIT License

Copyright (c) 2020 Xuan Nguyen <https://nguyenthanhxuan.name.vn> @Email at xuan12k@gmail.com

Package Sidebar

Install

npm i @xvn/passport-zalo

Weekly Downloads

0

Version

1.0.4

License

MIT

Unpacked Size

9.6 kB

Total Files

5

Last publish

Collaborators

  • xvn