我正在创建一个小部件。逃脱我的部分是实施社交媒体身份验证。
小部件是通过嵌入的 javascript 完成的,并接管<div>
页面上的 a 而不是使用 iframe。
我遇到的问题是我想避免重定向。不是因为我不想处理它们,而是因为我想让小部件尽可能友好。基本的 google 登录按钮创建一个处理身份验证客户端的弹出窗口。它对我的用例来说绝对是完美的,除了它需要一个 client_id:
<script>
window.googleStart = function() {
gapi.load('auth2', function() {
auth2 = gapi.auth2.init({
client_id: '639034356632-fgcp4bigtn908q2ev3qifl9vfqnsciuj.apps.googleusercontent.com',
// Scopes to request in addition to 'profile' and 'email'
//scope: 'additional_scope'
});
});
}
</script>
我可能是错的,但我相信如果我在嵌入到某人的网站时使用此方法,我可能会覆盖他们的 client_id 并导致冲突,或者谷歌可能只会取消第二次初始化尝试并使用他们的 client_id。在任何一种情况下,我都不相信那是我应该做的。有没有什么方法可以在没有重定向的情况下设置客户端身份验证,以便我的小部件不会干扰网站可能正在使用的 google api?
我有一种使用重定向并避免此问题的方法,但我真的希望能够完成整个社交身份验证,而无需从嵌入小部件的页面移动。