Android Kotlin令牌刷新问题

时间:2018-07-25 16:42:27

标签: android database firebase firebase-authentication token

我的android(kotlin)应用正在使用Firebase电话身份验证和实时数据库服务。

我写了一个记录的函数。

  • 如果用户尚未登录,它将启动登录活动。
  • 如果用户已经登录,它将刷新令牌以确保用户可以访问Firebase服务实时数据库。

每次用户想要访问Firebase服务实时数据库时,都会调用此“已记录”功能。在某些情况下,用户登录后立即调用“ logged”功能。

在将SHA-1密钥添加到Firebase项目进行版本Alpha测试之前,我的应用程序正常运行。

现在,用户在连接真实设备进行调试和测试Alpha版本时无法登录应用程序。

此处显示错误消息“ 07-26 15:37:48.569 32301-2607 /?E / Volley:[6707] BasicNetwork.performRequest:https://securetoken.googleapis.com/v1/token?alt=proto&key=AIzaSyDj4L-9w5KMyhFgc4NjOATPrNG7fgggeg的意外响应代码400”

我的问题:

  1. 这是正确的方法吗?
  2. 这是刷新令牌的正确方法吗?
  3. 如何立即解决我的应用程序问题?
  4. 错误消息是什么意思?

    记录的乐趣(上下文:上下文){

        //Firebase user
        var mAuth: FirebaseAuth? = null
        mAuth = FirebaseAuth.getInstance()
        val cUser = mAuth?.currentUser
        if (cUser==null) {
            val intent = Intent(context, LoginActivity::class.java)
            context.startActivity(intent)
            //createLoginFragment()
        }
        else {
            //println(currentUser.phoneNumber)
    
            cUser.getIdToken(true).addOnCompleteListener(object : OnCompleteListener<GetTokenResult> {
                override fun onComplete(task: Task<GetTokenResult>) {
                    if (task.isSuccessful()) {
                        val idToken = task.getResult().getToken()
                        // Send token to your backend via HTTPS
                        // ...
                        println("token has been refresh")
                    } else {
                        // Handle error -> task.getException();
                        println("Error Error Error Error Error Error")
                        val textError = context.getString(R.string.errorForInsertDataToFirebase)
                        alertPopUp(context, "", textError)
                    }
                }
            })
        }
    }
    

0 个答案:

没有答案