Firebase身份验证REST API setAccountInfo端点忽略returnSecureToken

Firebase身份验证REST API setAccountInfo端点忽略returnSecureToken

问题描述:

我正在尝试使用setAccountInfo端点更新displayName用户的属性,如documentation中所述。Firebase身份验证REST API setAccountInfo端点忽略returnSecureToken

显示名称被更新,但returnSecureToken属性被忽略。在JSON回复中,idTokenrefreshToken永远都不存在,并且在文档中没有提到额外的emailVerified

这是不好/过时的文件或我错过了什么吗?

returnSecureToken仅在旧ID标记被撤销的操作中需要。如果您正在更新displayName,则现有ID令牌/刷新令牌将保持有效。如果您正在更新密码或电子邮件,令牌将被撤消,您需要新的令牌。 Auth后端会在电子邮件/密码更新后返回新的令牌,出于安全原因,所有现有会话都将被撤销。

要取回用户数据,请使用getAccountInfo端点。这是填充用户的最佳方式。我相信setAccountInfo可能会根据其用途返回不同的数据。

+0

我知道'idToken'在这里不是必需的。关键是文件似乎是错误的。 –

+0

returnSecureToken将只在必要时返回新的令牌。应该更新文档以提到这一点。每次启动更新配置文件时,Firebase身份验证后端都不会返回新的刷新令牌。如果您需要新的刷新令牌,则可以使用https://firebase.google.com/docs/reference/rest/auth/#section-refresh-token强制执行刷新并将现有刷新令牌交换为新令牌。您可以将文件Firebase支持的一个错误,以便在官方参考文献中阐明。 – bojeil

+0

谢谢。我花了一个小时试着弄清楚什么是错误的,然后进入这个问题,并认为它只是他们错误的文档。 – iDev