diff --git a/client/src/actions/session-actions.js b/client/src/actions/session-actions.js index 0744e422..9bec3100 100644 --- a/client/src/actions/session-actions.js +++ b/client/src/actions/session-actions.js @@ -68,13 +68,11 @@ export default { logout() { return { type: 'LOGOUT', - payload: Promise.resolve() - .then(() => gapi && gapi.auth2 && gapi.auth2.getAuthInstance().signOut()) - .then(() => API.call({ - path: '/user/logout', - data: {} - })) - } + payload: API.call({ + path: '/user/logout', + data: {} + }) + }; }, getUserData(userId, token, staff) { diff --git a/client/src/app/main/main-home/__tests__/main-home-page-login-widget-test.js b/client/src/app/main/main-home/__tests__/main-home-page-login-widget-test.js index 45ec83b7..b428e61d 100644 --- a/client/src/app/main/main-home/__tests__/main-home-page-login-widget-test.js +++ b/client/src/app/main/main-home/__tests__/main-home-page-login-widget-test.js @@ -35,11 +35,6 @@ describe('Login/Recover Widget', function () { let dispatch = stub(); function renderComponent(props = {session: {pending: false, failed: false}}) { - window.gapi = { - load() { - return null; - } - }; component = reRenderIntoDocument( ); @@ -121,11 +116,6 @@ describe('Login/Recover Widget', function () { let dispatch = stub(); beforeEach(function () { - window.gapi = { - load() { - return null; - } - }; component = TestUtils.renderIntoDocument( ); diff --git a/client/src/app/main/main-home/main-home-page-login-widget.js b/client/src/app/main/main-home/main-home-page-login-widget.js index 9b439291..3e5fd685 100644 --- a/client/src/app/main/main-home/main-home-page-login-widget.js +++ b/client/src/app/main/main-home/main-home-page-login-widget.js @@ -1,10 +1,12 @@ import React from 'react'; +import ReactDOM from 'react-dom'; import {connect} from 'react-redux'; import classNames from 'classnames'; import _ from 'lodash'; import SessionActions from 'actions/session-actions'; import API from 'lib-app/api-call'; +import focus from 'lib-core/focus'; import i18n from 'lib-app/i18n'; import PasswordRecovery from 'app-components/password-recovery'; @@ -33,10 +35,6 @@ class MainHomePageLoginWidget extends React.Component { } } - componentDidMount() { - this.renderGoogleButton(); - } - render() { return ( @@ -51,7 +49,6 @@ class MainHomePageLoginWidget extends React.Component {
-
Loading Google Login ...
@@ -67,23 +64,6 @@ class MainHomePageLoginWidget extends React.Component { ); } - renderGoogleButton() { - window.gapi.load('auth2', () => { - gapi.auth2.init({client_id: '50174278643-gtvjdpm5rmkv75lf3jsp95iv77a2usgu.apps.googleusercontent.com'}) - gapi.signin2.render('google-oauth-id', { - scope: 'email', - width: 200, - height: 30, - longtitle: true, - theme: 'dark', - onsuccess: this.onGoogleLoginSuccess.bind(this), - onfailure: (response) => { - console.log(response); - } - }) - }) - } - renderPasswordRecovery() { return ( @@ -146,12 +126,6 @@ class MainHomePageLoginWidget extends React.Component { this.props.dispatch(SessionActions.login(formState)); } - onGoogleLoginSuccess(googleUser) { - let id_token = googleUser.getAuthResponse().id_token; - console.log(id_token); - this.props.dispatch(SessionActions.login({'googleId': id_token, 'remember': 1})); - } - onForgotPasswordSubmit(formState) { this.setState({ loadingRecover: true, diff --git a/client/src/index.html b/client/src/index.html index 986cb3df..10403723 100755 --- a/client/src/index.html +++ b/client/src/index.html @@ -16,7 +16,6 @@ - diff --git a/server/Makefile b/server/Makefile index dd78e3f3..79b1d16c 100644 --- a/server/Makefile +++ b/server/Makefile @@ -10,7 +10,7 @@ build: @docker network create os-net || true install: - @docker exec -it opensupports-srv bash -c "cd /var/www/html && composer update && composer install" || echo "${red}Please execute 'make run' first${reset}" + @docker exec -it opensupports-srv bash -c "cd /var/www/html && composer install" || echo "${red}Please execute 'make run' first${reset}" @docker exec -it opensupports-db bash -c "mysql -u root -e \"CREATE DATABASE IF NOT EXISTS development;\" " || echo "${red}Please execute 'make run' first${reset}" run: stop diff --git a/server/composer.json b/server/composer.json index 7f07c16f..698d7607 100755 --- a/server/composer.json +++ b/server/composer.json @@ -10,8 +10,7 @@ "codeguy/upload": "^1.3", "php-imap/php-imap": "^3.0", "willdurand/email-reply-parser": "^2.8", - "ext-fileinfo": "^1.0", - "google/apiclient": "^2.7" + "ext-fileinfo": "^1.0" }, "require-dev": { "phpunit/phpunit": "^5.7" diff --git a/server/controllers/user/login.php b/server/controllers/user/login.php index d4ecb30e..c5eba95d 100755 --- a/server/controllers/user/login.php +++ b/server/controllers/user/login.php @@ -19,7 +19,6 @@ use RedBeanPHP\Facade as RedBean; * @apiParam {Boolean} remember Indicates if the session wants to be remembered. * @apiParam {Number} userId The id of the user to login. * @apiParam {String} rememberToken Token to login automatically. It replaces the password. - * @apiParam {String} googleId Token to log in with Google. * * @apiUse UNVERIFIED_USER * @apiUse INVALID_CREDENTIALS @@ -50,24 +49,6 @@ class LoginController extends Controller { public function handler() { $this->clearOldRememberTokens(); - - if ($this->checkGoogleLogin()) { - $client = new Google_Client(['client_id' => '50174278643-gtvjdpm5rmkv75lf3jsp95iv77a2usgu.apps.googleusercontent.com']); - $payload = $client->verifyIdToken(Controller::request('googleId')); - if ($payload && $payload['email_verified']) { - $this->userInstance = User::getUser($payload['email'], 'email'); - - if ($this->userInstance->isNull()) { - $this->userInstance = $this->createGoogleUser($payload); - } - - Session::getInstance()->createSession($this->userInstance->id, false); - Response::respondSuccess($this->getUserData()); - return; - } else { - throw new Exception("Invalid GoogleID token or unverified Google account"); - } - } if ($this->checkInputCredentials() || $this->checkRememberToken()) { if($this->userInstance->verificationToken !== null) { @@ -92,36 +73,6 @@ class LoginController extends Controller { } } - private function checkGoogleLogin() { - return !!Controller::request('googleId'); - } - - private function createGoogleUser($payload) { - Controller::setDataRequester(function ($key) use ($payload) { - switch ($key) { - case 'email': - return $payload['email']; - case 'password': - return Hashing::generateRandomToken(); - case 'name': - return $payload['name']; - } - - return null; - }); - - $signupController = new SignUpController(true); - - try { - $signupController->validate(); - $signupController->handler(); - } catch (\Exception $exception) { - throw new Exception("OpenSupports doesn't accept this Google account, failed validations: " . $exception); - } - - return User::getUser($payload['email'], 'email'); - } - private function checkInputCredentials() { $this->userInstance = $this->getUserByInputCredentials();