passport-leancloud

0.0.3 • Public • Published

passport-leancloud

云引擎中使用 AVUser 作为 passport 策略。

如何使用

安装

源代码安装

clone 到本地项目,并且放进 node_modules 文件夹中:

    git clone https://github.com/wujun4code/passport-leancloud

通过 npm 安装

    npm install passport-leancloud

编写代码

Express 项目中的 app.js 编写如下代码:

    var express = require('express');
    var passport = require('passport');
    var LeanCloudStrategy = require('passport-leancloud');

创建 configuration

    var leancloudStrategy = new LeanCloudStrategy({
        appId:'{这里填写 LeanCloud AppId}'
        appKey:'{这里填写 LeanCloud AppKey}'
    });

启用策略:

    passport.use(leancloudStrategy);

配合 Express 使用:

   var app = express();
   app.use(passport.initialize());
   app.use(passport.session());

在需要验证的路由当中使用方式如下:

app.get('/login', function(req, res) {
  res.render('login');
});
app.post('/login',
  passport.authenticate('leancloud', {
    successRedirect: '/',
    failureRedirect: '/login',
  })
);
 
// passport 必要的序列化和反序列化
passport.serializeUser(function(user, done) {
  console.log('serializeUser');
  console.log(user);
  done(null, user);
});
 
passport.deserializeUser(function(user, done) {
  console.log('deserializeUser');
  done(null, user);
});

login 对应的 view 代码可以如下:

<!DOCTYPE HTML>
<html>
  <head>
    <title>passport-leancloud</title>
  </head>
  <body>
        <form action="/login" method="post">
          <label>用户名:</label>
          <input id="username" type="text" name="username" autocomplete="on" placeholder="用户名">
          <label >密码:</label>
          <input id="password" type="password" name="password" autocomplete="on" placeholder="密码">
          <input type="submit" value="登陆"/>
        </form>
  </body>
</html>

Package Sidebar

Install

npm i passport-leancloud

Weekly Downloads

1

Version

0.0.3

License

MIT License

Last publish

Collaborators

  • wujun4code