Skip to content

Instantly share code, notes, and snippets.

@rkt2spc
Created December 28, 2016 08:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rkt2spc/6f2f9080eab0452096846271eba5af57 to your computer and use it in GitHub Desktop.
Save rkt2spc/6f2f9080eab0452096846271eba5af57 to your computer and use it in GitHub Desktop.
Handle oauth token redirect front-end angular
var app = angular.module('app', ['ui.router']);
app.config(['$stateProvider',
function ($stateProvider) {
// UI-Router
// Application states
var applicationStates = [
// Pre-authenticated
{
name: 'savetoken',
template: '',
url: '/savetoken?access_token',
params: { access_token: null }
},
{
name: 'authenticated-home',
templateUrl: '/partials/authenticatedHome.html',
url: '/home',
controller: 'home-controller'
}
];
applicationStates.forEach((state) => {
$stateProvider.state(state);
});
}
]);
app.run(['$rootScope', '$transitions',
function ($rootScope, $transitions) {
// Authenticate Redirection
$transitions.onBefore({ to: 'savetoken' }, (trans) => {
var access_token = trans.to().params.access_token;
if (access_token)
return trans.router.stateService.target('authenticated-home', {access_token: access_token});
else
return false;
});
}]);
app.controller('homeCtrl', ['$stateParams',
function($stateParams) {
console.log($stateParams);
}
]);
var express = require('express');
var app = express();
//...........
app.get('/facebookcallback', function(req, res, next) {
passport.authenticate('facebook', function(err, user, info) {
res.redirect('/#/savetoken?acces_token=' + user.access_token);
})(req, res, next);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment