BVB Source Codes

parse-server Show janraincapture.js Source code

Return Download parse-server: download janraincapture.js Source code - Download parse-server Source code - Type:.js
  1. // Helper functions for accessing the Janrain Capture API.
  2. var https = require('https');
  3. var Parse = require('parse/node').Parse;
  4. var querystring = require('querystring');
  5.  
  6. // Returns a promise that fulfills iff this user id is valid.
  7. function validateAuthData(authData, options) {
  8.   return request(options.janrain_capture_host, authData.access_token)
  9.     .then((data) => {
  10.       //successful response will have a "stat" (status) of 'ok' and a result node that stores the uuid, because that's all we asked for
  11.       //see: https://docs.janrain.com/api/registration/entity/#entity
  12.       if (data && data.stat == 'ok' && data.result == authData.id) {
  13.         return;
  14.       }
  15.       throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'Janrain capture auth is invalid for this user.');
  16.     });
  17. }
  18.  
  19. // Returns a promise that fulfills iff this app id is valid.
  20. function validateAppId() {
  21.   //no-op
  22.   return Promise.resolve();
  23. }
  24.  
  25. // A promisey wrapper for api requests
  26. function request(host, access_token) {
  27.  
  28.   var query_string_data = querystring.stringify({
  29.     'access_token': access_token,
  30.     'attribute_name': 'uuid' // we only need to pull the uuid for this access token to make sure it matches
  31.   });
  32.  
  33.   return new Promise(function(resolve, reject) {
  34.     https.get({
  35.       host: host,
  36.       path: '/entity?' + query_string_data
  37.     }, function(res) {
  38.       var data = '';
  39.       res.on('data', function(chunk) {
  40.         data += chunk;
  41.       });
  42.       res.on('end', function () {
  43.         resolve(JSON.parse(data));
  44.       });
  45.     }).on('error', function() {
  46.       reject('Failed to validate this access token with Janrain capture.');
  47.     });
  48.   });
  49. }
  50.  
  51. module.exports = {
  52.   validateAppId: validateAppId,
  53.   validateAuthData: validateAuthData
  54. };
  55.  
downloadjanraincapture.js Source code - Download parse-server Source code
Related Source Codes/Software:
react-boilerplate - 2017-06-07
webtorrent - Streaming torrent client for the web ... 2017-06-06
machine-learning-for-software-engineers - A complete daily plan for studying to become a mac... 2017-06-06
upterm - A terminal emulator for the 21st century. 2017-06-06
lottie-android - Render After Effects animations natively on Androi... 2017-06-07
AsyncDisplayKit - Smooth asynchronous user interfaces for iOS apps. ... 2017-06-07
ionicons - The premium icon font for Ionic ... 2017-06-07
storybook - 2017-06-07
prettier - Prettier is an opinionated JavaScript formatter. ... 2017-06-08
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top