mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-06-20 17:00:53 +02:00
Merge pull request #842 from Gym/fb-enhancements
Facebook authentication
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
"bitwise": false, // Prohibit bitwise operators (&, |, ^, etc.).
|
||||
"curly": false, // Require {} for every new block or scope.
|
||||
"eqeqeq": true, // Require triple equals i.e. `===`.
|
||||
"latedef": true, // Prohibit variable use before definition.
|
||||
"latedef": "nofunc", // Prohibit variable use before definition.
|
||||
"noarg": true, // Prohibit use of `arguments.caller` and `arguments.callee`.
|
||||
"undef": true, // Require all non-global variables be declared before they are used.
|
||||
"unused": false, // Warn unused variables.
|
||||
|
||||
@@ -51,8 +51,20 @@ angular.module(ApplicationConfiguration.applicationModuleName).run(function ($ro
|
||||
//Then define the init function for starting up the application
|
||||
angular.element(document).ready(function () {
|
||||
//Fixing facebook bug with redirect
|
||||
if (window.location.hash === '#_=_') {
|
||||
window.location.hash = '#!';
|
||||
if (window.location.hash && window.location.hash === '#_=_') {
|
||||
if (window.history && history.pushState) {
|
||||
window.history.pushState('', document.title, window.location.pathname);
|
||||
} else {
|
||||
// Prevent scrolling by storing the page's current scroll offset
|
||||
var scroll = {
|
||||
top: document.body.scrollTop,
|
||||
left: document.body.scrollLeft
|
||||
};
|
||||
window.location.hash = '';
|
||||
// Restore the scroll offset, should be flicker free
|
||||
document.body.scrollTop = scroll.top;
|
||||
document.body.scrollLeft = scroll.left;
|
||||
}
|
||||
}
|
||||
|
||||
//Then init the app
|
||||
|
||||
@@ -27,7 +27,8 @@ module.exports = function (config) {
|
||||
firstName: profile.name.givenName,
|
||||
lastName: profile.name.familyName,
|
||||
displayName: profile.displayName,
|
||||
email: profile.emails[0].value,
|
||||
email: profile.emails ? profile.emails[0].value : undefined,
|
||||
username: profile.username || generateUsername(profile),
|
||||
profileImageURL: (profile.id) ? '//graph.facebook.com/' + profile.id + '/picture?type=large' : undefined,
|
||||
provider: 'facebook',
|
||||
providerIdentifierField: 'id',
|
||||
@@ -36,6 +37,18 @@ module.exports = function (config) {
|
||||
|
||||
// Save the user OAuth profile
|
||||
users.saveOAuthUserProfile(req, providerUserProfile, done);
|
||||
|
||||
function generateUsername(profile) {
|
||||
var username = '';
|
||||
|
||||
if (profile.emails) {
|
||||
username = profile.emails[0].value.split('@')[0];
|
||||
} else if (profile.name) {
|
||||
username = profile.name.givenName[0] + profile.name.familyName;
|
||||
}
|
||||
|
||||
return username.toLowerCase() || undefined;
|
||||
}
|
||||
}
|
||||
));
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user