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: {},
|
recoverFormErrors: {},
|
||||||
recoverSent: false,
|
recoverSent: false,
|
||||||
loadingLogin: false,
|
loadingLogin: false,
|
||||||
loadingRecover: false
|
loadingRecover: false,
|
||||||
|
|
||||||
|
sent: false
|
||||||
};
|
};
|
||||||
|
|
||||||
componentDidUpdate(prevProps) {
|
componentDidUpdate(prevProps) {
|
||||||
|
@ -43,17 +45,6 @@ class MainHomePageLoginWidget extends React.Component {
|
||||||
}
|
}
|
||||||
|
|
||||||
renderLogin() {
|
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) => {
|
const defaultGoogleHandler = (response) => {
|
||||||
console.log(response);
|
console.log(response);
|
||||||
}
|
}
|
||||||
|
@ -66,7 +57,7 @@ class MainHomePageLoginWidget extends React.Component {
|
||||||
height: 30,
|
height: 30,
|
||||||
longtitle: true,
|
longtitle: true,
|
||||||
theme: 'dark',
|
theme: 'dark',
|
||||||
onsuccess: onGoogleLoginSuccess,
|
onsuccess: this.onGoogleLoginSuccess.bind(this),
|
||||||
onfailure: defaultGoogleHandler
|
onfailure: defaultGoogleHandler
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -153,6 +144,15 @@ class MainHomePageLoginWidget extends React.Component {
|
||||||
this.props.dispatch(SessionActions.login(formState));
|
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) {
|
onForgotPasswordSubmit(formState) {
|
||||||
this.setState({
|
this.setState({
|
||||||
loadingRecover: true,
|
loadingRecover: true,
|
||||||
|
|
|
@ -52,20 +52,22 @@ class LoginController extends Controller {
|
||||||
$this->clearOldRememberTokens();
|
$this->clearOldRememberTokens();
|
||||||
|
|
||||||
if ($this->checkGoogleLogin()) {
|
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
|
$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'));
|
$payload = $client->verifyIdToken(Controller::request('googleId'));
|
||||||
if ($payload) {
|
if ($payload) {
|
||||||
$userid = $payload['sub'];
|
// $userid = $payload['sub'];
|
||||||
ob_start();
|
// ob_start();
|
||||||
var_dump($payload);
|
// var_dump($payload);
|
||||||
$result = ob_get_clean();
|
// $result = ob_get_clean();
|
||||||
Response::respondSuccess(array('googleUserData' => $result));
|
|
||||||
|
$this->userInstance = User::getUser($payload['email'], 'email');
|
||||||
|
|
||||||
|
Session::getInstance()->createSession($this->userInstance->id, false);
|
||||||
|
Response::respondSuccess($this->getUserData());
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
echo "Invalid token" . PHP_EOL;
|
echo "Invalid token" . PHP_EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Response::respondSuccess(array(
|
Response::respondSuccess(array(
|
||||||
'userId' => -1,
|
'userId' => -1,
|
||||||
|
|
Loading…
Reference in New Issue