WIP - Stub to log in with Google
This commit is contained in:
parent
56ca30a7c3
commit
c4e211518c
|
@ -24,7 +24,9 @@ class MainHomePageLoginWidget extends React.Component {
|
|||
recoverFormErrors: {},
|
||||
recoverSent: false,
|
||||
loadingLogin: false,
|
||||
loadingRecover: false
|
||||
loadingRecover: false,
|
||||
|
||||
sent: false
|
||||
};
|
||||
|
||||
componentDidUpdate(prevProps) {
|
||||
|
@ -43,17 +45,6 @@ class MainHomePageLoginWidget extends React.Component {
|
|||
}
|
||||
|
||||
renderLogin() {
|
||||
const onGoogleLoginSuccess = (googleUser) => {
|
||||
let id_token = googleUser.getAuthResponse().id_token;
|
||||
|
||||
API.call({
|
||||
path: '/user/login',
|
||||
data: {
|
||||
'googleId': id_token
|
||||
}
|
||||
}).then(() => {}).catch(() => {});
|
||||
}
|
||||
|
||||
const defaultGoogleHandler = (response) => {
|
||||
console.log(response);
|
||||
}
|
||||
|
@ -66,7 +57,7 @@ class MainHomePageLoginWidget extends React.Component {
|
|||
height: 30,
|
||||
longtitle: true,
|
||||
theme: 'dark',
|
||||
onsuccess: onGoogleLoginSuccess,
|
||||
onsuccess: this.onGoogleLoginSuccess.bind(this),
|
||||
onfailure: defaultGoogleHandler
|
||||
})
|
||||
})
|
||||
|
@ -153,6 +144,15 @@ class MainHomePageLoginWidget extends React.Component {
|
|||
this.props.dispatch(SessionActions.login(formState));
|
||||
}
|
||||
|
||||
onGoogleLoginSuccess(googleUser) {
|
||||
if (!this.state.sent) {
|
||||
let id_token = googleUser.getAuthResponse().id_token;
|
||||
console.log(id_token);
|
||||
this.props.dispatch(SessionActions.login({'googleId': id_token, 'remember': 1}));
|
||||
this.setState({sent: true});
|
||||
}
|
||||
}
|
||||
|
||||
onForgotPasswordSubmit(formState) {
|
||||
this.setState({
|
||||
loadingRecover: true,
|
||||
|
|
|
@ -52,20 +52,22 @@ class LoginController extends Controller {
|
|||
$this->clearOldRememberTokens();
|
||||
|
||||
if ($this->checkGoogleLogin()) {
|
||||
|
||||
$client = new Google_Client(['client_id' => '50174278643-gtvjdpm5rmkv75lf3jsp95iv77a2usgu.apps.googleusercontent.com']); // Specify the CLIENT_ID of the app that accesses the backend
|
||||
$payload = $client->verifyIdToken(Controller::request('googleId'));
|
||||
if ($payload) {
|
||||
$userid = $payload['sub'];
|
||||
ob_start();
|
||||
var_dump($payload);
|
||||
$result = ob_get_clean();
|
||||
Response::respondSuccess(array('googleUserData' => $result));
|
||||
// $userid = $payload['sub'];
|
||||
// ob_start();
|
||||
// var_dump($payload);
|
||||
// $result = ob_get_clean();
|
||||
|
||||
$this->userInstance = User::getUser($payload['email'], 'email');
|
||||
|
||||
Session::getInstance()->createSession($this->userInstance->id, false);
|
||||
Response::respondSuccess($this->getUserData());
|
||||
return;
|
||||
} else {
|
||||
echo "Invalid token" . PHP_EOL;
|
||||
}
|
||||
|
||||
|
||||
Response::respondSuccess(array(
|
||||
'userId' => -1,
|
||||
|
|
Loading…
Reference in New Issue