我已在帐户设置中指定了我的重定向URI,但我不确定在我的代码中将其指定的位置。
我正在使用“使用google登录”按钮,我可以登录,但是当我使用fiddler时,我总是看到的redirect_uri与我发布的URI相同。我想要一个不同的。
我确信这与我没有在正确的地方寻找指令有关,因为我是OpenID connect的新手。如果URI与我在已注册的重定向URI中列出的redirect_uri匹配,我认为设置元标记会起作用。
这是我的HTML页面:
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<meta name="google-signin-client_id" content="xxxxxxxxxxxxxx-yyyyyyyyyyyyyyyyyy.apps.googleusercontent.com">
<meta name="google-signin-redirect_uri" content="https://www.apple.com">
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<div class="g-signin2" data-onsuccess="onSignIn"></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("Name: " + profile.getName());
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>
</form>
</body>
</html>
答案 0 :(得分:1)
要使用redirect_uri,您必须将其声明为g-signin2数据参数并显式请求accesstype = offline。
<div class="g-signin2"
data-onsuccess="onSignIn"
data-scope="https://www.googleapis.com/auth/plus.login"
data-accesstype="offline"
data-redirecturi="https://www.example.com/redirect_uri"></div>
这样访问代码将被发送到请求的uri。 Detailed docs for server side flow