Javascript 如何将google登录集成到我的网站并收集用户详细信息?
我想将google登录按钮集成到。我知道html,但我不确定php和java脚本。最后,我希望google登录用户并向我提供他们的信息,这样我就可以将其安全地存储在phpmyadmin上的数据库中。我为此访问过,但发现它没有解释如何充分收集用户信息。我已经试着遵循这一点,到目前为止,我已经做到了,但这远远不是它应该是什么样子。我看过其他教程,如。然而,我发现他们都没有遵循谷歌的指示,例如,你必须下载谷歌API在他们,但在谷歌网站上没有提到下载任何东西 以下是使用谷歌教程的代码:Javascript 如何将google登录集成到我的网站并收集用户详细信息?,javascript,php,html,google-signin,Javascript,Php,Html,Google Signin,我想将google登录按钮集成到。我知道html,但我不确定php和java脚本。最后,我希望google登录用户并向我提供他们的信息,这样我就可以将其安全地存储在phpmyadmin上的数据库中。我为此访问过,但发现它没有解释如何充分收集用户信息。我已经试着遵循这一点,到目前为止,我已经做到了,但这远远不是它应该是什么样子。我看过其他教程,如。然而,我发现他们都没有遵循谷歌的指示,例如,你必须下载谷歌API在他们,但在谷歌网站上没有提到下载任何东西 以下是使用谷歌教程的代码: <html
<html lang="en">
<head>
<meta name="google-signin-scope" content="profile email">
<meta name="google-signin-client_id" content="808271051181-424qcdq0emrd0pd77frfiuacvcetp58t.apps.googleusercontent.com">
<script src="https://apis.google.com/js/platform.js" async defer></script>
</head>
<body>
<div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div>
<script>
function onSignIn(googleUser) {
// Useful data for your client-side scripts:
var profile = googleUser.getBasicProfile();
console.log("ID: " + profile.getId()); // Don't send this directly to your server!
console.log('Full Name: ' + profile.getName());
console.log('Given Name: ' + profile.getGivenName());
console.log('Family Name: ' + profile.getFamilyName());
console.log("Image URL: " + profile.getImageUrl());
console.log("Email: " + profile.getEmail());
// The ID token you need to pass to your backend:
var id_token = googleUser.getAuthResponse().id_token;
console.log("ID Token: " + id_token);
};
</script>
</body>
</html>
函数onSignIn(谷歌用户){
//客户端脚本的有用数据:
var profile=googleUser.getBasicProfile();
console.log(“ID:+profile.getId());//不要直接将其发送到服务器!
log('Full Name:'+profile.getName());
log('给定名称:'+profile.getGivenName());
console.log('Family Name:'+profile.getFamilyName());
log(“图像URL:+profile.getImageUrl());
log(“Email:+profile.getEmail());
//需要传递到后端的ID令牌:
var id_token=googleUser.getAuthResponse().id_token;
日志(“ID令牌:+ID_令牌”);
};
您可能可以用javascript从概要文件中获取所有数据,但我希望将它们的所有数据都输入php变量,以便存储在数据库中。为此,我将GoogleID令牌作为来自javascript的post数据发送(如何做到这一点)。
您仍然需要所有其他谷歌登录代码,但我用以下代码替换了onSingIn
:
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
document.getElementById("userid").value = googleUser.getAuthResponse().id_token;
document.getElementById("userid").form.submit();
}
还要在正文中添加表单代码:
<form action="login.php" method="post">
<input type="hidden" name="id" id="userid">
</form>
有了这个,你应该能够得到你需要的所有信息。示例使用:
$name = trim(get_var("name"));
$email = trim(get_var("email"));
要查看所有可访问的信息,请在get\u var
中打印出$id\u token
,或转到在末尾添加id token。
有关从ID令牌获取数据的详细信息
$name = trim(get_var("name"));
$email = trim(get_var("email"));