forked from zywcode/technode
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathauth.js
More file actions
35 lines (29 loc) · 892 Bytes
/
auth.js
File metadata and controls
35 lines (29 loc) · 892 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// http://passportjs.org/
var passport = require('koa-passport')
var user = { id: 1, username: 'test' }
passport.serializeUser(function(user, done) {
done(null, user.id)
})
passport.deserializeUser(function(id, done) {
done(null, user)
})
var LocalStrategy = require('passport-local').Strategy
passport.use(new LocalStrategy(function(username, password, done) {
// retrieve user ...
if (username === 'test' && password === 'test') {
done(null, user)
} else {
done(null, false)
}
}))
var DoubanStrategy = require('passport-douban').Strategy
passport.use(new DoubanStrategy({
clientID: '01b42bcb7d5ef3de051c8362781cdb9a',
clientSecret: '8c6cb3c773a5017d',
callbackURL: 'http://localhost:' + (process.env.PORT || 3000) + '/auth/douban/callback'
},
function(accessToken, refreshToken, profile, done) {
// retrieve user ...
done(null, user)
}
))