|
|
@@ -244,6 +244,22 @@ module.exports = function(crowi, app) {
|
|
|
debug('GoogleStrategy has not been set up');
|
|
|
return;
|
|
|
}
|
|
|
+ // ExternalAccount.findOrRegister('google', '101297323158972859647')
|
|
|
+ // .catch((err) => {
|
|
|
+ // throw err;
|
|
|
+ // })
|
|
|
+ // .then((externalAccount) => {
|
|
|
+ // return externalAccount.getPopulatedUser();
|
|
|
+ // })
|
|
|
+ // .then((user) => {
|
|
|
+ // // login
|
|
|
+ // req.logIn(user, (err) => {
|
|
|
+ // if (err) { console.log(err) }
|
|
|
+ // else {
|
|
|
+ // return loginSuccess(req, res, user);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // });
|
|
|
|
|
|
passport.authenticate('google', {
|
|
|
scope: ['profile']
|
|
|
@@ -251,14 +267,26 @@ module.exports = function(crowi, app) {
|
|
|
};
|
|
|
|
|
|
const loginPassportGoogleCallback = function(req, res, next) {
|
|
|
- console.log('loginPassportGoogleCallback');
|
|
|
- passport.authenticate('google', { failureRedirect: '/login' }, (req, res) => {
|
|
|
- // Do something here
|
|
|
- console.log(req, '---------req')
|
|
|
- console.log(res, '---------res')
|
|
|
-
|
|
|
+ passport.authenticate('google', {failureRedirect: '/login'}, (request, response) => {
|
|
|
+ ExternalAccount.findOrRegister('google', response.id, response.displayName, `${response.name.givenName} ${response.name.familyName}`)
|
|
|
+ .catch((err) => {
|
|
|
+ throw err;
|
|
|
+ })
|
|
|
+ .then((externalAccount) => {
|
|
|
+ return externalAccount.getPopulatedUser();
|
|
|
+ })
|
|
|
+ .then((user) => {
|
|
|
+ // login
|
|
|
+ req.logIn(user, err => {
|
|
|
+ if (err) {
|
|
|
+ return next();
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return loginSuccess(req, res, user);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
})(req, res, next);
|
|
|
- return res.redirect('/');
|
|
|
};
|
|
|
|
|
|
return {
|