我在我的网站上有一个Google登录,(在检查令牌后)重定向用户.它在Chrome上完全符合要求,但重定向不会发生在Internet Explorer或Edge上,而只会停留在登录页面上.
<div class="g-signin2" data-onsuccess="onSignIn"></div>
<script>
function onSignIn(googleUser) {
var profile = googleUser.getBasicProfile();
console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
var id_token = googleUser.getAuthResponse().id_token;
var userid;
$.get("https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=" + id_token, function( data ) {
window.location = 'check.php?userid=' + data.sub; // Once Google login is complete, redirects to check.php, sending userid via GET
}, "json" );
}
</script>
Run Code Online (Sandbox Code Playgroud)
关于什么阻止它在IE上工作的任何想法?我的预感是它与window.location行有关,但是我对javascript不太了解或了解IE来弄清楚是什么!
该网站位于http://test.cowenphysics.com.
谢谢
编辑:看看这个类似的问题,似乎问题不是由于我的重定向,而是Google登录本身.这是有道理的,因为登录后登录按钮不会改变状态.用于网站的基本Google登录代码无法在Internet Explorer 11中使用
编辑2:这似乎是谷歌或IE的一个错误.即使是官方Google开发人员网站上有关于实施登录的说明也无法在Internet Explorer上运行.尝试使用此页面上的登录按钮:https://developers.google.com/identity/sign-in/web/build-button
javascript internet-explorer google-chrome microsoft-edge google-signin
我在这里找到了一个类似的问题,但答案似乎对我不起作用。
我使用 Flask 用户(我相信它扩展了 Flask 登录)并且在大多数情况下它工作得很好。我已经为登录和注册构建了我自己的全新模板,而不是使用他们提供的模板。按照文档,我将这些模板放在templates/flask_user/login.html,templates/flask_user/register.html等等。
我还设置USER_UNAUTHENTICATED_ENDPOINT = "login"并USER_UNAUTHORIZED_ENDPOINT = "login"在我的配置文件,其中login是我的登录路由的名称。
问题是,如果我退出并尝试直接访问需要用户登录的页面,我将被发送到http://localhost:5000/user/sign-in并显示Flask-Login登录页面。这有两个问题:1) 这不是正确的登录途径,2) 这不是正确的登录模板。
如果有人对此提出建议,我将不胜感激。
编辑:
来自__init__.py该应用程序和 LoginManager 的代码初始化:
app = Flask(__name__)
@app.context_processor
def inject_production_status():
return dict(production=True)
# Initialise flask_login
login = LoginManager(app)
login.login_view = 'login'
login.refresh_view = "login"
login.needs_refresh_message = "Please sign in again to access this page"
Run Code Online (Sandbox Code Playgroud)
UserManager 定义在底部models.py:
user_manager = UserManager(app, db, User)
Run Code Online (Sandbox Code Playgroud) 我正在实施一项电子邮件验证服务,目的是确认注册者确实是该电子邮件地址的所有者(具体来说,他们在电子邮件域所属的组织中工作)。
我将在注册后发送一封电子邮件,其中包含一次性链接,将其状态设置为verified = 1。
用户可以选择使用简单的电子邮件/密码组合或使用 Google 登录服务来注册和登录。
我的问题是:我是否需要验证已注册 Google Sign In 的用户?为了向我提供他们的电子邮件地址,他们必须使用 Google 登录,然后 Google 确认了该地址。我在这里错过了什么,或者我可以立即将这些用户视为这些地址的经过验证的所有者吗?
我有一个连接到 Google Data Studio 的 MySQL 数据库,其中的列包括“日期”和“新用户”。“新用户”列包含每天的新用户数。
我想根据日期绘制累积用户数的图表。这在电子表格中很容易做到(通过添加一列来计算总计),但我不知道在 Data Studio 中是否可行。
有任何想法吗?