UNPKG

2.82 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/strategies/FacebookStrategy.js"],"names":["FacebookStrategy","Strategy","Facebook","type","accessToken","data","providerId","id","params","settings","config","clientId","passport","fields","token","join","timeout","firstName","first_name","lastName","last_name","avatar","domain","BaseStrategy"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;;;IAEqBA,gB;;;;;;;;;;;;;;;UACnBC,Q,GAAWC,6BAASD,Q;UACpBE,I,GAAO,U;;;;;;;sGAEP,iBAAiBC,WAAjB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBACyB,4EAAoDA,WAApD,EADzB;;AAAA;AAAA;AACUC,gBAAAA,IADV,gBACUA,IADV;AAEcC,gBAAAA,UAFd,GAEwCD,IAFxC,CAEUE,EAFV,EAE6BC,MAF7B,6CAEwCH,IAFxC;AAAA,iFAGcG,MAHd;AAGsBF,kBAAAA,UAAU,EAAVA;AAHtB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;WAKA,mBAAU;AACR;AAEEG,QAAAA,QAAQ,iDAA0C,KAAKC,MAAL,CAAYC,QAAtD;AAFV;AAID;;;;sGAED,kBAAiBC,QAAjB;AAAA;;AAAA;AAAA;AAAA;AAAA;AAA8B;AACtBC,gBAAAA,MADR,GACiB,CACb,QADa,EAEb,qBAFa,EAGb,SAHa,EAIb,OAJa,EAKb,MALa,EAMb,YANa,EAOb,WAPa,EAQb,MARa,EASb,UATa,CADjB;AAAA;AAAA,uBAYyB,4EACyBD,QAAQ,CAACE,KADlC,qBACkDD,MAAM,CAACE,IAAP,CAAY,GAAZ,CADlD,GAErB;AACEC,kBAAAA,OAAO,EAAE;AADX,iBAFqB,CAZzB;;AAAA;AAAA;AAYUX,gBAAAA,IAZV,iBAYUA,IAZV;AAAA,kFAmBOA,IAnBP;AAoBIY,kBAAAA,SAAS,EAAEZ,IAAI,CAACa,UApBpB;AAqBIC,kBAAAA,QAAQ,EAAEd,IAAI,CAACe,SArBnB;AAsBIC,kBAAAA,MAAM,EAAE,sBAAIhB,IAAJ,EAAU,kBAAV,CAtBZ;AAuBIiB,kBAAAA,MAAM,EAAEjB,IAAI,CAACE;AAvBjB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAhB4CgB,yB","sourcesContent":["// import fetch from 'isomorphic-fetch';\nimport axios from 'axios';\nimport get from 'lodash/get';\nimport Facebook from 'passport-facebook';\n\nimport BaseStrategy from './BaseStrategy';\n\nexport default class FacebookStrategy extends BaseStrategy {\n Strategy = Facebook.Strategy;\n type = 'facebook';\n\n async checkToken(accessToken) {\n const { data } = await axios(`https://graph.facebook.com/me?access_token=${accessToken}`);\n const { id: providerId, ...params } = data;\n return { ...params, providerId };\n }\n getInfo() {\n return {\n ...super.getInfo(),\n settings: `https://developers.facebook.com/apps/${this.config.clientId}/dashboard/`,\n };\n }\n\n async getProfile(passport) { //eslint-disable-line\n const fields = [\n 'gender',\n 'picture.type(large)',\n 'domains',\n 'about',\n 'link',\n 'first_name',\n 'last_name',\n 'name',\n 'birthday',\n ];\n const { data } = await axios(\n `https://graph.facebook.com/me?access_token=${passport.token}&fields=${fields.join(',')}`,\n {\n timeout: 3000,\n },\n );\n return {\n ...data,\n firstName: data.first_name,\n lastName: data.last_name,\n avatar: get(data, 'picture.data.url'),\n domain: data.id,\n };\n }\n}\n"],"file":"FacebookStrategy.js"}
\No newline at end of file