Example project here: Sign-in with Google using Google Java Script library
- Main project
<head>
<style>
#signIn {
width: 80%;
height: 50%;
display: none;
}
span {
border: 1px solid silver;
padding: 10px;
cursor: pointer;
font-size: 10px;
}
</style>
<script>
function userLoggedIn(userObject) {
document.getElementById('signIn').style.display = 'none';
document.getElementById('head').innerHTML = `Wellcome ${userObject.given_name} ${userObject.family_name} ! <hr/>email: ${userObject.email} `;
}
function showLogInPopup() {
document.getElementById('signIn').style.display = 'block';
}
</script>
</head>
<body>
<h1 id="head">Integrating Google Sign-in for Websites with Google library. <span onclick="showLogInPopup()">Log In</span></h1>
<iframe id="signIn" src="google-sign-in.html"></iframe>
</body>
<head>
<style>
#signIn {
width: 80%;
height: 50%;
display: none;
}
span {
border: 1px solid silver;
padding: 10px;
cursor: pointer;
font-size: 10px;
}
</style>
<script>
function userLoggedIn(userObject) {
document.getElementById('signIn').style.display = 'none';
document.getElementById('head').innerHTML = `Wellcome ${userObject.given_name} ${userObject.family_name} ! <hr/>email: ${userObject.email} `;
}
function showLogInPopup() {
document.getElementById('signIn').style.display = 'block';
}
</script>
</head>
<body>
<h1 id="head">Integrating Google Sign-in for Websites with Google library. <span onclick="showLogInPopup()">Log In</span></h1>
<iframe id="signIn" src="google-sign-in.html"></iframe>
</body>
<head> <style> #signIn { width: 80%; height: 50%; display: none; } span { border: 1px solid silver; padding: 10px; cursor: pointer; font-size: 10px; } </style> <script> function userLoggedIn(userObject) { document.getElementById('signIn').style.display = 'none'; document.getElementById('head').innerHTML = `Wellcome ${userObject.given_name} ${userObject.family_name} ! <hr/>email: ${userObject.email} `; } function showLogInPopup() { document.getElementById('signIn').style.display = 'block'; } </script> </head> <body> <h1 id="head">Integrating Google Sign-in for Websites with Google library. <span onclick="showLogInPopup()">Log In</span></h1> <iframe id="signIn" src="google-sign-in.html"></iframe> </body>
- create iFrame with the log in button
<head>
<script src="https://accounts.google.com/gsi/client" async defer></script>
<script>
function userLoggedIn(credential) {
document.getElementById('log-in-iframe').style.display = 'none';
alert(credential);
}
</script>
</head>
<body>
Log in with Google
<div id="log-in-button">
<div id="g_id_onload"
data-client_id="989056576533-mtef8cl5is5ogjh3np580ireurns7l5k.apps.googleusercontent.com"
data-context="signin"
data-response-type="code"
data-ux_mode="popup"
data-login_uri="https://www.toni-develops.com/external-files/examples/oauth-with-google-with-popup/callback.php"
data-itp_support="true"
data-auto_prompt="false">
</div>
<div class="g_id_signin"
data-type="standard"
data-shape="rectangular"
data-theme="filled_blue"
data-text="signin_with"
data-size="large"
data-logo_alignment="left">
</div>
</div>
</body>
<head>
<script src="https://accounts.google.com/gsi/client" async defer></script>
<script>
function userLoggedIn(credential) {
document.getElementById('log-in-iframe').style.display = 'none';
alert(credential);
}
</script>
</head>
<body>
Log in with Google
<div id="log-in-button">
<div id="g_id_onload"
data-client_id="989056576533-mtef8cl5is5ogjh3np580ireurns7l5k.apps.googleusercontent.com"
data-context="signin"
data-response-type="code"
data-ux_mode="popup"
data-login_uri="https://www.toni-develops.com/external-files/examples/oauth-with-google-with-popup/callback.php"
data-itp_support="true"
data-auto_prompt="false">
</div>
<div class="g_id_signin"
data-type="standard"
data-shape="rectangular"
data-theme="filled_blue"
data-text="signin_with"
data-size="large"
data-logo_alignment="left">
</div>
</div>
</body>
<head> <script src="https://accounts.google.com/gsi/client" async defer></script> <script> function userLoggedIn(credential) { document.getElementById('log-in-iframe').style.display = 'none'; alert(credential); } </script> </head> <body> Log in with Google <div id="log-in-button"> <div id="g_id_onload" data-client_id="989056576533-mtef8cl5is5ogjh3np580ireurns7l5k.apps.googleusercontent.com" data-context="signin" data-response-type="code" data-ux_mode="popup" data-login_uri="https://www.toni-develops.com/external-files/examples/oauth-with-google-with-popup/callback.php" data-itp_support="true" data-auto_prompt="false"> </div> <div class="g_id_signin" data-type="standard" data-shape="rectangular" data-theme="filled_blue" data-text="signin_with" data-size="large" data-logo_alignment="left"> </div> </div> </body>
- create callback
<html>
<head>
</head>
<body>
<pre>
<?php
$token = $_POST['credential'];
$userObject = json_decode(base64_decode(str_replace('_', '/', str_replace('-','+',explode('.', $token)[1]))));
print_r($userObject);
?>
</pre>
<script>
var userObject = {
given_name : "<?php echo $userObject->given_name ?>",
family_name : "<?php echo $userObject->family_name ?>",
email : "<?php echo $userObject->email ?>"
}
function passUserObjectToParentDocument(userObject) {
parent.userLoggedIn(userObject);
}
</script>
<button onclick="passUserObjectToParentDocument(userObject)">continue</button>
</body>
</html>
<html>
<head>
</head>
<body>
<pre>
<?php
$token = $_POST['credential'];
$userObject = json_decode(base64_decode(str_replace('_', '/', str_replace('-','+',explode('.', $token)[1]))));
print_r($userObject);
?>
</pre>
<script>
var userObject = {
given_name : "<?php echo $userObject->given_name ?>",
family_name : "<?php echo $userObject->family_name ?>",
email : "<?php echo $userObject->email ?>"
}
function passUserObjectToParentDocument(userObject) {
parent.userLoggedIn(userObject);
}
</script>
<button onclick="passUserObjectToParentDocument(userObject)">continue</button>
</body>
</html>
<html> <head> </head> <body> <pre> <?php $token = $_POST['credential']; $userObject = json_decode(base64_decode(str_replace('_', '/', str_replace('-','+',explode('.', $token)[1])))); print_r($userObject); ?> </pre> <script> var userObject = { given_name : "<?php echo $userObject->given_name ?>", family_name : "<?php echo $userObject->family_name ?>", email : "<?php echo $userObject->email ?>" } function passUserObjectToParentDocument(userObject) { parent.userLoggedIn(userObject); } </script> <button onclick="passUserObjectToParentDocument(userObject)">continue</button> </body> </html>
Example project here: Sign-in with Google using Google Java Script library