gpt4 book ai didi

android - 使用邮件和密码通过 REST API [Firebase] 进行身份验证

转载 作者:IT王子 更新时间:2023-10-28 23:44:50 26 4
gpt4 key购买 nike

我想知道是否可能使用自定义身份验证真正身份验证到 Firebase REST API>?

我已经与 Firebase 合作了一段时间,我目前正在考虑将我的后端迁移到 Firebase。使用后端的应用程序当前使用 REST API,根本不需要实时数据。因此,我只想在客户端上使用 REST API 而不是完整的 Android 框架。

是否可以通过 HTTP 请求使用 Firebase 的邮件和密码身份验证来获取身份验证 token ?

old docs我只在 new docs 中找到了自定义登录的解决方案。您似乎需要一个 Google 服务帐户。

任何帮助或建议表示赞赏。

最佳答案

更新:Firebase REST 身份验证现已记录在案!

View the documentation


Firebase REST 身份验证

我通过检查 Javascript API 发送的请求了解了如何为 Firebase 执行电子邮件和密码身份验证。

这些 API 未记录且不受支持


Firebase 3

Firebase 3 身份验证是 Google 身份工具包的更新和重命名版本。旧文档并不完全准确,但可能有用,可在此处找到:https://developers.google.com/identity/toolkit/web/reference/

Firebase 3 要求所有请求都具有 Content-Type: application/json在标题中

API key

Firebase 3 要求将 API key 附加到所有身份验证请求。您可以通过访问 Firebase 项目概述并单击“将 Firebase 添加到您的网络应用程序”来找到您的数据库的 API key 。您应该会看到一个包含如下代码的窗口:

<script src="https://www.gstatic.com/firebasejs/live/3.0/firebase.js">    </script>
<script>
// Initialize Firebase
var config = {
apiKey: "<my-firebase-api-key>",
authDomain: "my-firebase.firebaseapp.com",
databaseURL: "https://my-firebase.firebaseio.com",
storageBucket: "my-firebase.appspot.com",
};
firebase.initializeApp(config);
</script>

复制 apiKey 值并保存以备后用。

注册

方法:POST

网址:https://www.googleapis.com/identitytoolkit/v3/relyingparty/signupNewUser?key=<my-firebase-api-key>

有效载荷:

{
email: "<email>",
password: "<password>",
returnSecureToken: true
}

回复:

{
"kind": "identitytoolkit#SignupNewUserResponse",
"localId": "<firebase-user-id>", // Use this to uniquely identify users
"email": "<email>",
"displayName": "",
"idToken": "<provider-id-token>", // Use this as the auth token in database requests
"registered": true,
"refreshToken": "<refresh-token>",
"expiresIn": "3600"
}

登录

方法:POST

网址:https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?key=<my-firebase-api-key>

有效载荷:

{
email: "<email>",
password: "<password>",
returnSecureToken: true
}

回复:

{
"kind": "identitytoolkit#VerifyPasswordResponse",
"localId": "<firebase-user-id>", // Use this to uniquely identify users
"email": "<email>",
"displayName": "",
"idToken": "<provider-id-token>", // Use this as the auth token in database requests
"registered": true,
"refreshToken": "<refresh-token>",
"expiresIn": "3600"
}

获取帐户信息

方法:POST

网址:https://www.googleapis.com/identitytoolkit/v3/relyingparty/getAccountInfo?key=<my-firebase-api-key>

有效载荷:

{
idToken: "<provider-id-token>"
}

回复:

{
"kind": "identitytoolkit#GetAccountInfoResponse",
"users": [
{
"localId": "<firebase-user-id>",
"email": "<email>",
"emailVerified": false,
"providerUserInfo": [
{
"providerId": "<password>",
"federatedId": "<email>",
"email": "<email>",
"rawId": "<email>"
}],
"passwordHash": "<hash>",
"passwordUpdatedAt": 1.465327109E12,
"validSince": "1465327108",
"createdAt": "1465327108000"
}]
}

Firebase 2

这些请求返回 Firebase 文档中描述的 JSON 数据。 https://www.firebase.com/docs/web/guide/login/password.html#section-logging-in

登录

您可以通过发送具有以下格式的 GET 请求进行身份验证:

https://auth.firebase.com/v2/<db_name>/auth/password?&email=<email>&password=<password>

注册

用户创建也可以通过发送与 _method=POST 相同的 GET 请求来执行。作为查询字符串的一部分

https://auth.firebase.com/v2/<db_name>/users?&email=<email>&password=<password>&_method=POST

关于android - 使用邮件和密码通过 REST API [Firebase] 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37322747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com