Saltar al contenido

¿Cómo usar Firebase con la aplicación Spring boot REST?

Contamos con el resultado a este disgusto, al menos eso creemos. Si continuas con dudas deja tu comentario, que con gusto te responderemos

Solución:

Para integrar Firebase con Spring, a continuación se muestra el código de muestra

En el nuevo Admin SDK, el proceso es simple, solo use el siguiente fragmento de código.

FirebaseAuth.getInstance().deleteUser(uid);
System.out.println("Successfully deleted user.");

Para obtener más detalles, visite esta URL https://firebase.google.com/docs/auth/admin/manage-users

Esto es para un código heredado. Primero agregue la dependencia de Firbase


    com.google.firebase
    firebase-server-sdk
    3.0.1

Código de muestra

@Component
public class FirebaseAuthenticationProvider implements AuthenticationProvider 

    @Autowired
    @Qualifier(value = UserServiceImpl.NAME)
    private UserDetailsService userService;

    public boolean supports(Class authentication) 
        return (FirebaseAuthenticationToken.class.isAssignableFrom(authentication));
    

    public Authentication authenticate(Authentication authentication) throws AuthenticationException 
        if (!supports(authentication.getClass())) 
            return null;
        

        FirebaseAuthenticationToken authenticationToken = (FirebaseAuthenticationToken) authentication;
        UserDetails details = userService.loadUserByUsername(authenticationToken.getName());
        if (details == null) 
            throw new FirebaseUserNotExistsException();
        

        authenticationToken = new FirebaseAuthenticationToken(details, authentication.getCredentials(),
                details.getAuthorities());

        return authenticationToken;
    


Para obtener un ejemplo completo, consulte el siguiente enlace de github https://github.com/savicprvoslav/Spring-Boot-starter Complete BlogPost con operación CRUD: https://medium.com/techwasti/spring-boot-firebase-crud-b0afab27b26e

Aquí está mi propio intento de responder a mi propia pregunta.

@RequestMapping(value = "/api/restCall", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
public Object restCall(@RequestBody Parameters requestBody,@RequestHeader(value = FIREBASETOKEN, required = true) String idToken) throws Exception 

    // idToken comes from the HTTP Header
    FirebaseToken decodedToken = FirebaseAuth.getInstance().verifyIdTokenAsync(idToken).get();
    final String uid = decodedToken.getUid();

    // process the code here
    // once it is done
    return object;


Puedes probar el siguiente código también

FirebaseAuth.getInstance().deleteUser(uid);
System.out.println("Successfully deleted user.");

para más detalles URL https://firebase.google.com/docs/auth/admin/manage-users

Recuerda compartir este post si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *