我试图让谷歌标志,其中当前使用集成Windows身份验证在我的Intranet站点的工作 - 我想从那个了,因为我需要支持的Chromebook和这里几乎一切都将谷歌......
这就是工作:
- 我得到了按钮的标志。 我可以在控制台日志中看到,它是用我的谷歌开发的客户端ID:
XHR加载完成:GET “ https://accounts.google.com/o/oauth2/iframerpc?action=checkOrigin&origin=ht ... d = 777682448638-5tpyaddayaddyadddarvnbr3p6.apps.googleusercontent.com”。
如果我点击我在哪里没有登录到谷歌的机器上的按钮,我会木屐提示登录到谷歌。
如果我点击这里我登录到谷歌,但没有访问此网站在此之前我会得到我的电子邮件和配置文件的授权请求与我的Web应用程序共享一台机器上的按钮。
- 如果我做了上述情况,并单击该按钮则是马上消失的弹出窗口的闪光。
什么是不工作:
- 我的网站从来没有得到任何的onSuccess回来.......使按键总是说“在与谷歌”我没有得到下一步“签名作为莫莉......”
这里是我的代码shortended版本 - 请注意,现在我的网站使用集成Windows身份验证 - 这就是我试图端口远离,所以我们可以使用不使用我们的Windows登录Chromebook和其他电脑。
这是从我的_Layout.cshtml页
@{
var username = WebSecurity.CurrentUserName;
}
<!DOCTYPE html>
<html lang="en">
<head>
<title>Rutland City Public Schools - ACADEMIC SITE</title>
<link href="~/Styles/Styles.css" rel="stylesheet" type="text/css"/>
<link href="~/Styles/PrintStyles.css" rel="stylesheet" type="text/css" media="print"/>
<meta http-Equiv="Cache-Control" Content="no-cache">
<meta http-Equiv="Pragma" Content="no-cache">
<meta http-Equiv="Expires" Content="0">
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
@RenderSection("script", required: false)
<meta name="google-signin-scope" content="profile email">
<meta name="google-signin-client_id" content="777682448638-5tpyaddayaddayaddavnbr3p6.apps.googleusercontent.com">
</head>
<body>
<div id="topRight">
Hello: @username <br> <br>
<div id="my-signin2" align="center" ></div>
<script>
function onSuccess(googleUser) {
console.log('Logged in as: ' + googleUser.getBasicProfile().getName());
}
function onFailure(error) {
console.log(error);
}
function renderButton() {
gapi.signin2.render('my-signin2', {
'scope': 'https://www.googleapis.com/auth/plus.login',
'width': 150,
'height': 30,
'longtitle': true,
'theme': 'light',
'onsuccess': onSuccess,
'onfailure': 'oops!'
});
}
</script>
<script src="https://apis.google.com/js/platform.js?onload=renderButton" async defer></script>
ignore google button!
</div>
<div id="mainContent">
@RenderBody()
</div>
</body>
</html>
如果我打开了“检查元素”当我在铬我可以看到网络选项卡上清楚熄灭,做一些获取到谷歌下。 在控制台选项卡中我只看到XHR加载完成:GET“ https://accounts.google .................”的消息。
这里发生了什么? 为什么我没有得到的onSuccess?
谢谢!!!!
增加了更多的注意事项:
我添加了一个链接:
<a href="#" onclick="signIn();">Sign in</a>
调用此函数:
function signIn() {
var auth2 = gapi.auth2.getAuthInstance();
console.log(auth2);
从控制台的结果,我可以看到我的网站,我的客户ID,但我再次看到任何关于我的实际用户。
jF {zd: Object, po: "single_host_origin", zt: true, ha: true, G: undefined…}
B: bY
B: "777682448638-5tp3rss17g1qarc3em0opcr4rvnbr3p6.apps.googleusercontent.com"
Db: "http://rcps"
Ei: undefined
El: undefined
G: "google"
Ka: false
Ld: Object
openid.realm: undefined
redirect_uri: "http://rcps/academic/academic"
response_type: "token id_token"
scope: "openid profile email"