validar usar recibir electronico correo como android rest firebase firebase-authentication

android - usar - Uso de correo electrónico y contraseña para autenticarse a través de la API REST



como usar el correo electronico hotmail (5)

Me preguntaba si es posible autenticarte en la API REST de Firebase sin usar la autenticación personalizada .

He trabajado con Firebase ahora por un tiempo y actualmente estoy pensando en migrar un backend mío a Firebase. La aplicación que utiliza el backend actualmente usa una API REST y no necesita datos en tiempo real. Por lo tanto, me gustaría usar solo la API REST y no el marco completo de Android en los clientes.

¿Es posible obtener un token de autenticación utilizando la autenticación de correo y contraseña de Firebase a través de solicitudes HTTP?

En los documentos antiguos solo he encontrado una solución con inicio de sesión personalizado y en los nuevos documentos parece que necesita una cuenta de servicio de Google.

Cualquier ayuda o consejo será apreciado.


Actualización: la autenticación REST de Firebase ahora está documentada.

Ver la documentación

Autenticación REST de Firebase

Descubrí cómo realizar la autenticación de correo electrónico y contraseña para Firebase al examinar las solicitudes enviadas por la API de Javascript.

Estas API no están documentadas y no son compatibles

Firebase 3

La autenticación de Firebase 3 es una versión actualizada y renombrada de Google Identity Toolkit. La documentación anterior no es completamente precisa, pero puede ser útil y se puede encontrar aquí: https://developers.google.com/identity/toolkit/web/reference/

Firebase 3 requiere que todas las solicitudes tengan Content-Type: application/json en el encabezado

Clave API

Firebase 3 requiere una clave API para adjuntar a todas las solicitudes de autenticación. Puede encontrar la clave API para su base de datos visitando la descripción general del proyecto Firebase y haciendo clic en "Agregar Firebase a su aplicación web". Debería ver una ventana con un código como el siguiente:

<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>

Copie el valor de la clave de acceso y guárdelo para más adelante.

Registro

Método: POST

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

Carga útil:

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

Respuesta:

{ "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" }

Iniciar sesión

Método: POST

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

Carga útil:

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

Respuesta:

{ "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" }

Obtenga información de la cuenta

Método: POST

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

Carga útil:

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

Respuesta:

{ "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

Estas solicitudes devuelven datos JSON descritos en los documentos de Firebase. https://www.firebase.com/docs/web/guide/login/password.html#section-logging-in

Iniciar sesión

Puede autenticarse enviando una solicitud GET con el siguiente formato:

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

Registro

La creación del usuario también se puede realizar enviando la misma solicitud GET con _method=POST como parte de la cadena de consulta

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


Creo que puedes hacer una de las siguientes cosas:

También hay proyectos en GitHub para generar tokens de Firebase:


De la autenticación de Firebase Guide con Firebase en sitios web mediante un sistema de autenticación personalizado (consulte https://firebase.google.com/docs/auth/web/custom-auth )

Puede integrar Firebase Authentication con un sistema de autenticación personalizado modificando su servidor de autenticación para producir tokens firmados personalizados cuando un usuario inicie sesión con éxito. Su aplicación recibe este token y lo usa para autenticarse con Firebase.

Aquí está la idea clave:

1) Agregue Firebase a su proyecto web y use Firebase REST JavaScript SDK para la autenticación, y acceda a Storage / Realtime Database con Firebase.

// TODO: Replace with your project''s customized code snippet <script src="https://www.gstatic.com/firebasejs/3.0.2/firebase.js"></script> <script> // Initialize Firebase var config = { apiKey: ''<your-api-key>'', authDomain: ''<your-auth-domain>'', databaseURL: ''<your-database-url>'', storageBucket: ''<your-storage-bucket>'' }; firebase.initializeApp(config); </script>

2) Los usuarios de la aplicación inician sesión en su servidor de autenticación usando su nombre de usuario y contraseña. Su servidor verifica las credenciales y devuelve un token personalizado si son válidas.

3) Después de recibir el token personalizado de su servidor de autenticación, páselo a signInWithCustomToken para iniciar sesión en el usuario

firebase.auth().signInWithCustomToken(token).catch(function(error) { // Handle Errors here. var errorCode = error.code; var errorMessage = error.message; // ... });



Si intenta a través de REST API que tiene que hacer todas las operaciones en su aplicación .

Solo toma los datos json y verifica tu autenticación o no .

usa el método de actualización de Get y solo toma todos los datos de tu aplicación de Firebase .

esta es mi publicación Rerofit + Firebase que me enviaron para que el principiante comprenda la conexión de firebase y Retrofit.

O

Por favor revisa estos enlaces para ayudarte .....................

REST auth

Autonomía del usuario

Example

disfrutar de la codificación .......