first commit
This commit is contained in:
89
app/services.js
Normal file
89
app/services.js
Normal file
@@ -0,0 +1,89 @@
|
||||
var uuid = require('node-uuid'),
|
||||
authCodes = {},
|
||||
accessTokens = {},
|
||||
tokenHeartbeats = {},
|
||||
clients = {
|
||||
'F8Nbz9gGUvLgdn8T': {
|
||||
id: '1',
|
||||
secret: 'Fesmx7hHCCMx7Cby7FhV2fAtf2NYEFzP5fCKuwEEdpf8hpnsnnQn9qYhNHt6SsDD',
|
||||
grantTypes: ['client_credentials']
|
||||
},
|
||||
'dev52VrnSufxEyKT': {
|
||||
id: '2',
|
||||
secret: 'nK2jnqhdWnrmAFDw9zWVueAqUQvSxmAyjf2Sz7ZrmYVSH5GSxER4rPQCuBUewF',
|
||||
grantTypes: ['client_credentials']
|
||||
}
|
||||
};
|
||||
|
||||
const services = {
|
||||
flushExpiredTokens: function (maxAge) {
|
||||
let oldTokens = [];
|
||||
let now = new Date().getTime();
|
||||
for (let token in accessTokens) {
|
||||
if (tokenHeartbeats[token] && tokenHeartbeats[token] < now - 1000 * maxAge) {
|
||||
oldTokens.push(token)
|
||||
delete accessTokens[token]
|
||||
}
|
||||
}
|
||||
console.log('Flush expired tokens execution completed.', oldTokens)
|
||||
},
|
||||
getAccessTokens: function () {
|
||||
return accessTokens;
|
||||
},
|
||||
getClients: function () {
|
||||
return clients;
|
||||
},
|
||||
heartbeat: {
|
||||
puls: function (token) {
|
||||
tokenHeartbeats[token] = new Date().getTime();
|
||||
},
|
||||
signal: function (authHeader) {
|
||||
if (authHeader) {
|
||||
let token = authHeader.split(' ').pop()
|
||||
if (accessTokens[token]) {
|
||||
services.heartbeat.puls(token)
|
||||
return tokenHeartbeats[token];
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
},
|
||||
clientService: {
|
||||
getById: function (id, callback) {
|
||||
return callback(null, clients[id]);
|
||||
},
|
||||
isValidRedirectUri: function (/*client, requestedUri*/) {
|
||||
return true;
|
||||
}
|
||||
},
|
||||
tokenService: {
|
||||
generateToken: function (callback) {
|
||||
callback(null, uuid.v4());
|
||||
},
|
||||
generateAuthorizationCode: function (callback) {
|
||||
callback(null, uuid.v4());
|
||||
}
|
||||
},
|
||||
authorizationService: {
|
||||
saveAuthorizationCode: function (codeData, callback) {
|
||||
authCodes[codeData.code] = codeData;
|
||||
return callback(null, authCodes[codeData.code]);
|
||||
},
|
||||
saveAccessToken: function (tokenData, callback) {
|
||||
accessTokens[tokenData.access_token] = tokenData;
|
||||
return callback(null, accessTokens[tokenData.access_token]);
|
||||
},
|
||||
getAuthorizationCode: function (code, callback) {
|
||||
return callback(null, authCodes[code]);
|
||||
},
|
||||
getAccessToken: function (token, callback) {
|
||||
return callback(null, accessTokens[token]);
|
||||
}
|
||||
},
|
||||
membershipService: {
|
||||
areUserCredentialsValid: function (userName, password, scope, callback) {
|
||||
return callback(null, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
module.exports = services
|
||||
Reference in New Issue
Block a user