Firebase Auth REST API - 使用电子邮件/密码登录不会返回刷新令牌
Posted
技术标签:
【中文标题】Firebase Auth REST API - 使用电子邮件/密码登录不会返回刷新令牌【英文标题】:Firebase Auth REST API - signing in with email/password doesn't return refresh token 【发布时间】:2020-01-04 14:36:17 【问题描述】:当我向https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=<API_KEY>
发布登录请求时,即使登录操作本身成功,响应正文也缺少刷新令牌和过期时间。它看起来像这样:
"kind": "identitytoolkit#VerifyPasswordResponse",
"localId": <LOCAL_ID>,
"email": <EMAIL>,
"displayName": "",
"idToken": <ID_TOKEN>,
"registered": true
它确实返回一个 id 令牌,但我尝试使用它来验证 RTDB 请求(以<DATABASE_URL>/.../node.json?auth=<ID_TOKEN>
的形式)并且即使我的数据库有公共数据库,它们也会失败并出现 HTTP 错误 401读/写规则。
注册请求 (https://identitytoolkit.googleapis.com/v1/accounts:signUp?key=<API_KEY>
) 返回的响应正文没有同样的问题。
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:您需要在请求中将returnSecureToken
设置为true,如REST API docs 中所述。
【讨论】:
以上是关于Firebase Auth REST API - 使用电子邮件/密码登录不会返回刷新令牌的主要内容,如果未能解决你的问题,请参考以下文章
Firebase Auth REST API - 使用电子邮件/密码登录不会返回刷新令牌
当我在标签之间导航时自动注销问题(Firebase Auth rest API)