Kotlin 谷歌云功能正在从应用程序发送错误的身份验证值
我有一个android应用程序,我用新的DisplayName更新了用户配置文件,但当调用云函数时,云函数的名称错误 配置文件更新代码: 但在云函数中,userName:context.auth.token.name给出的是实际的提供者displayname VINNUSAURUS,而不是我在调用任何云函数之前更改的displayname。context.auth.token包含有关客户端提供的Firebase身份验证使用的JWT的信息。这与Firebase安全规则中的内容相同。这不包含用户的显示名称 显示名称由Firebase Auth存储,您可以使用Firebase Admin SDK在云函数执行中获得它。首先,您需要发出请求的用户的UID。UID在context.auth.UID中可用,但仅适用于可调用和实时数据库类型触发器。如果您正在编写其他类型的触发器,则需要找出其他获取UID的方法Kotlin 谷歌云功能正在从应用程序发送错误的身份验证值,kotlin,firebase-authentication,google-cloud-functions,Kotlin,Firebase Authentication,Google Cloud Functions,我有一个android应用程序,我用新的DisplayName更新了用户配置文件,但当调用云函数时,云函数的名称错误 配置文件更新代码: 但在云函数中,userName:context.auth.token.name给出的是实际的提供者displayname VINNUSAURUS,而不是我在调用任何云函数之前更改的displayname。context.auth.token包含有关客户端提供的Firebase身份验证使用的JWT的信息。这与Firebase安全规则中的内容相同。这不包含用户的显
AdminSDK提供的获取显示名称的API调用为。它返回具有显示名称的对象。您还可以在.中了解更多信息,因此我只需要从客户端发送显示名称,如果您愿意,也可以,但请注意,攻击者可能会破坏客户端应用程序并发送错误的值。直接使用Admin SDK查询Firebase Auth将保证获得正确的值。
val profileUpdates = UserProfileChangeRequest.Builder()
.setDisplayName("Vinay")
.setPhotoUri(it)
.build()
FirebaseAuth.getInstance().currentUser!!.updateProfile(profileUpdates)
.addOnCompleteListener { task ->
if (task.isSuccessful) {
Log.d("post", "Updated Profile")
//Here Code Runs Successfully
// then call a cloud functio
}
}