我当前正在使用firebase作为后端Web服务器,并且使用auth REST API来验证我的应用程序中的用户身份(使用email和password登录)。我的问题是我想知道是否有一个http请求,我可以通过它响应,包括是否已验证登录的电子邮件,我曾尝试将其余的API与firebase-Auth软件包混合使用,但是没有工作。
我刚刚找到了“ setAccountInfo”终结点,但是要使其正常工作,我需要发送给用户的确认电子邮件中的“ oobCode”,我无法自动获取。 有人可以帮我吗?
答案 0 :(得分:2)
我认为您可以使用getAccountInfo
端点来做到这一点,该端点返回包含emailVerified
属性的以下有效负载(来自文档的示例):
{
"users": [
{
"localId": "ZY1rJK0...",
"email": "user@example.com",
"emailVerified": false,
"displayName": "John Doe",
"providerUserInfo": [
{
"providerId": "password",
"displayName": "John Doe",
"photoUrl": "http://localhost:8080/img1234567890/photo.png",
"federatedId": "user@example.com",
"email": "user@example.com",
"rawId": "user@example.com",
"screenName": "user@example.com"
}
],
"photoUrl": "https://lh5.googleusercontent.com/.../photo.jpg",
"passwordHash": "...",
"passwordUpdatedAt": 1.484124177E12,
"validSince": "1484124177",
"disabled": false,
"lastLoginAt": "1484628946000",
"createdAt": "1484124142000",
"customAuth": false
}
]
}
样品请求(来自文档,已粘贴以供参考):
curl 'https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=[API_KEY]' \ -H 'Content-Type: application/json' --data-binary '{"idToken":"[FIREBASE_ID_TOKEN]"}'
在上面的示例中,您将[API_KEY]替换为Web API密钥 的Firebase项目和[FIREBASE_ID_TOKEN]与用户的 Firebase ID令牌。
PS:我没有尝试过在问题末尾提到的setAccountInfo
端点,但是我认为它用于发送(POST)通过电子邮件收到的验证码(来自{{3} }:->“ oobCode:发送到用户电子邮件以进行电子邮件验证的操作代码。”