docs: fix broken link (#9)
$ npm i egg-passport --save $ npm i egg-passport-local --save
Note: also need egg-passport .
// {app_root}/config/plugin.js exports.passport = { enable: true, package: 'egg-passport', }; exports.passportLocal = { enable: true, package: 'egg-passport-local', };
// {app_root}/config/config.default.js exports.passportLocal = { // usernameField: 'username', // passwordField: 'password', };
The available options are:
usernameField
username
passwordField
password
Both fields define the name of the properties in the POST body that are sent to the server.
see config/config.default.js for more detail.
after login successful, we can redirect to origin url by using ctx.session.returnTo before go to login page, for example:
ctx.session.returnTo
ctx.session.returnTo = ctx.path;
see fixture for more detail.
// ./controller/home.js class HomeController extends Controller { async index() { const ctx = this.ctx; ctx.body = ` <div> <h2>${ctx.path}</h2> <a href="/admin">admin</a> </div> `; } async admin() { const { ctx } = this; if (ctx.isAuthenticated()) { // show user info } else { // redirect to origin url by ctx.session.returnTo ctx.session.returnTo = ctx.path; await ctx.render('login.html'); } } async logout() { const ctx = this.ctx; ctx.logout(); ctx.redirect(ctx.get('referer') || '/'); } }
// router.js module.exports = app => { app.router.get('/', 'home.render'); app.router.get('/admin', 'home.admin'); const localStrategy = app.passport.authenticate('local'); app.router.post('/passport/local', localStrategy); app.router.get('/logout', 'user.logout'); };
see passport example for more detail.
Please open an issue here.
MIT
egg-passport-local
Install
Note: also need egg-passport .
Usage
Configuration
The available options are:
usernameField- Optional, defaults tousernamepasswordField- Optional, defaults topasswordBoth fields define the name of the properties in the POST body that are sent to the server.
see config/config.default.js for more detail.
after login successful, we can redirect to origin url by using
ctx.session.returnTobefore go to login page, for example:Example
see fixture for more detail.
see passport example for more detail.
Questions & Suggestions
Please open an issue here.
License
MIT