Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. /**
  2. * Module dependencies.
  3. */
  4.  
  5. var mongoose = require('mongoose');
  6. var Schema = mongoose.Schema;
  7.  
  8. /**
  9. * Schema definitions.
  10. */
  11.  
  12. mongoose.model('OAuthTokens', new Schema({
  13. accessToken: { type: String },
  14. accessTokenExpiresOn: { type: Date },
  15. clientId: { type: String },
  16. refreshToken: { type: String },
  17. refreshTokenExpiresOn: { type: Date },
  18. userId: { type: String }
  19. }));
  20.  
  21. mongoose.model('OAuthClients', new Schema({
  22. clientId: { type: String },
  23. clientSecret: { type: String },
  24. redirectUris: { type: Array }
  25. }));
  26.  
  27. mongoose.model('OAuthUsers', new Schema({
  28. email: { type: String, default: '' },
  29. firstname: { type: String },
  30. lastname: { type: String },
  31. password: { type: String },
  32. username: { type: String }
  33. }));
  34.  
  35. var OAuthTokensModel = mongoose.model('OAuthTokens');
  36. var OAuthClientsModel = mongoose.model('OAuthClients');
  37. var OAuthUsersModel = mongoose.model('OAuthUsers');
  38.  
  39. /**
  40. * Get access token.
  41. */
  42.  
  43. module.exports.getAccessToken = function(bearerToken) {
  44. console.log('in getAccessToken (bearerToken: ' + bearerToken + ')');
  45.  
  46. return OAuthTokensModel.findOne({ accessToken: bearerToken });
  47. };
  48.  
  49. /**
  50. * Get client.
  51. */
  52.  
  53. module.exports.getClient = function(clientId, clientSecret) {
  54. console.log('in getClient (clientId: ' + clientId + ', clientSecret: ' + clientSecret + ')');
  55.  
  56. return OAuthClientsModel.findOne({ clientId: clientId, clientSecret: clientSecret });
  57. };
  58.  
  59. /**
  60. * Get refresh token.
  61. */
  62.  
  63. module.exports.getRefreshToken = function(refreshToken) {
  64. console.log('in getRefreshToken (refreshToken: ' + refreshToken + ')');
  65.  
  66. return OAuthTokensModel.findOne({ refreshToken: refreshToken });
  67. };
  68.  
  69. /*
  70. * Get user.
  71. */
  72.  
  73. module.exports.getUser = function(username, password) {
  74. console.log('in getUser (username: ' + username + ', password: ' + password + ')');
  75.  
  76. return OAuthUsersModel.findOne({ username: username, password: password });
  77. };
  78.  
  79. /**
  80. * Save token.
  81. */
  82.  
  83. module.exports.saveToken = function(token, client, user) {
  84. console.log('in saveToken (token: ' + token + ')');
  85.  
  86. var accessToken = new OAuthTokensModel({
  87. accessToken: token.accessToken,
  88. accessTokenExpiresOn: token.accessTokenExpiresOn,
  89. clientId: client.id,
  90. refreshToken: token.refreshToken,
  91. refreshTokenExpiresOn: token.refreshTokenExpiresOn,
  92. userId: user.id
  93. });
  94.  
  95. return accessToken.save();
  96. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement