-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpassport.js
More file actions
33 lines (26 loc) · 888 Bytes
/
Copy pathpassport.js
File metadata and controls
33 lines (26 loc) · 888 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
"use strict";
const passport = require("passport");
const ClientPasswordStrategy = require("passport-oauth2-client-password")
.Strategy;
const BasicStrategy = require("passport-http").BasicStrategy;
const DB = require(`${project_root}/models`);
// const Logger = require(`${project_root}/logger`)
// const logger = Logger.getLogger(Logger.TYPES.PASSPORT)
const verifyClient = async (client_key, client_secret, done) => {
try {
const client = await DB.AuthClient.findOne({
where: {
client_key,
active: true
}
});
if (!client) return done(null, false);
if (client.client_secret !== client_secret) return done(null, false);
return done(null, client);
} catch (error) {
return done(error);
}
};
passport.use(new ClientPasswordStrategy(verifyClient));
passport.use(new BasicStrategy(verifyClient));
module.exports = passport;