FirebaseUI Web Auth-signInSuccessWithAuthResult上的数据库调用

问题描述

我正在通过MySQL和PHP在Web上使用FirebaseUI身份验证。我想进行数据库调用以检查MySQL数据库中是否存在经过身份验证的用户,否则在显示登录屏幕之前插入该用户。

我通过遵循脚本来实现这一目标。

function getUiConfig() {
    return {
        'callbacks': {
            'signInSuccessWithAuthResult': function(authResult,redirectUrl) {
                getUser(authResult.user);
            return false;
            }
        },'credentialHelper': firebaseui.auth.CredentialHelper.NONE,'signInFlow': 'redirect','signInOptions': [
        {
            provider : firebase.auth.GoogleAuthProvider.PROVIDER_ID
        },{
            provider : firebase.auth.FacebookAuthProvider.PROVIDER_ID
        },{
            provider : firebase.auth.EmailAuthProvider.PROVIDER_ID,requireDisplayName: false
        },],'tosUrl': '<tosUrl>','privacyPolicyUrl': '<privacyPolicyUrl>',};
}

初始化Firebase小部件

var ui = new firebaseui.auth.AuthUI(firebase.auth());
// The start method will wait until the DOM is loaded.
ui.start('#firebaseui-auth-container',getUiConfig());

Ajax调用:

function getUser(user) {
    if (user) {

        var uid = user.uid;
        var email = user.email;
        var name = user.displayName;
        var source = "Firebase";
        var profilePic = user.photoURL;

        var dataString = 'uid=' + uid + '&name=' + name + '&email=' + email + '&profilePic=' + profilePic+ '&source=' + source;

        $.ajax({
            url: 'ajax/checkUser.php',type: "POST",data: dataString,dataType: 'json',cache: false,success: function (html) {
                if(html.Islogin == 'yes'){
                  localStorage.setItem('loggedin','yes');
                  alert('login success');
                  location.reload();
              }else{
                alert('login fail');
              }
          }
        });
    }
  }

HTML

<div class="poptxt padt100" id="firebaseui-auth-container">
    <h2>Join Us</h2>
</div>

问题是,当将'signInFlow'设置为重定向时,在Auth Success上它首先将用户重定向到登录页面,然后我必须在ajax成功/失败中执行location.reload()才能显示基于更新的内容在ajax响应上。

我只想在查询数据库后重定向用户。我尝试了async:在ajax中为false,但这是行不通的。有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...