很抱歉有一个很大的编辑.我正在重新开始,因为我没有正确地陈述我的问题.
我正在尝试用HTML5编写客户端应用程序.我不希望它被托管在网站上.我甚至不确定这是否可行,我对这种类型的应用程序还不熟悉.
无论如何,我想访问Google服务,这需要OAuth等身份验证.因为它是javascript,听起来像OAuth2是我需要的.
我试图在弹出窗口中打开google身份验证(我有这个部分),让用户允许访问,然后将流程传递回我的应用程序,然后可以查询Google服务.问题是1.它要求用户在我使用时将令牌复制/粘贴到应用程序中response_type=code,但是如果我使用response_type=token它,则要求我重定向回有效的URL,因为这不是托管在Web服务器上,所以没有.
那么我如何使用OAuth,让用户无缝授予访问权限?
sai*_*y2k 59
在身份验证完成后,您应该为Google定义一些重定向网址以重定向到.如果您无法在任何网站上托管您的网页,您可以很好地将其托管在本地主机上.
关于从弹出窗口获取访问令牌到主父窗口,您可以在父窗口中设置计时器,该窗口继续检查弹出窗口的文档位置.一旦文档位置与重定向URL匹配,您就可以解析将在URL本身中的访问令牌.
我昨天写了一个关于完全相同问题的教程(使用本地主机),这里是链接:http: //www.gethugames.in/2012/04/authentication-and-authorization-for-google-apis-in-javascript -popup窗口,tutorial.html
希望你会发现它很有用.
Mic*_*Mic 12
为避免潜在的点击攻击,Google身份验证会强制您进行整页登录.我认为你无法控制它.
在评论后编辑,这是从Google OAuth2页面中提取的代码:
<body>
<a href="javascript:poptastic('https://accounts.google.com/o/oauth2/auth?scope=https://www.google.com/m8/feeds&client_id=21302922996.apps.googleusercontent.com&redirect_uri=https://www.example.com/back&response_type=token');">Try
out that example URL now</a>
<script>
function poptastic(url) {
var newWindow = window.open(url, 'name', 'height=600,width=450');
if (window.focus) {
newWindow.focus();
}
}
</script>
</body>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
88454 次 |
| 最近记录: |