Auth - Yorbre25/P3SOA_MY_microRESTaurant GitHub Wiki

Autentificación

Se cuentan con varios microservicios relacionados con la autentificaación

Servicio de LogIn

Sirve para iniciar sesión en el restaurante. Utiliza firebase auth para guardar los usuarios registrados.

Input

{
    "email": "[email protected]",
    "password": "123456"
}

Output

{
    "user": {
        "uid": ,
        "email": ,
        "emailVerified": ,
        "isAnonymous": ,
        "providerData": [
            {
                "providerId":,
                "uid":,
                "displayName":,
                "email":,
                "phoneNumber":,
                "photoURL":
            }
        ],
        "stsTokenManager": {
            "refreshToken":,
            "accessToken":,
            "expirationTime":
        },
        "createdAt":,
        "lastLoginAt": ,
        "apiKey": ,
        "appName": 
    },
    "isAdmin":
}

Error Messages

  • Error code 401: Invalid credentials
  • Error code 400: Invalid email
  • Error code 500: Internal server error

Servicio SignUp

Registra a un nuevo usuario utilizando firebase auth

Input

{
    "email": "[email protected]",
    "password": "123456"
}

Output

{
    "user": {
        "uid": ,
        "email": ,
        "emailVerified": ,
        "isAnonymous": ,
        "providerData": [
            {
                "providerId":,
                "uid":,
                "displayName":,
                "email":,
                "phoneNumber":,
                "photoURL":
            }
        ],
        "stsTokenManager": {
            "refreshToken":,
            "accessToken":,
            "expirationTime":
        },
        "createdAt":,
        "lastLoginAt": ,
        "apiKey": ,
        "appName": 
    },
    "isAdmin":
}

Error Messages

  • Error code 409: Email already in use
  • Error code 401: Invalid credentials
  • Error code 400: Missing email / Missing password / Weak password
  • Error code 500: Internal server error

Servicio ResetPassword

Envía un correo al usuario para cambiar su contraseña. Utiliza las funciones de firebase Auth para esto.

Input

{
    "email": "[email protected]",
}

Output

{
 "message": "email sent"
}

Error Messages

  • Error code 400: Invalid email/ Missing email
  • Error code 500: Internal server error

Servicio MakeAdmin

Convierte un usuario existente en admin

Input

Se requieren permisos de administrador, por lo que la solicitud debe tener un header "Authorization" con el JWT del inicio de sesión

{
    "email": "[email protected]",
}

Output

{
    "message": "User is now admin"
}

Error Messages

  • Error code 404: User not found
  • Error code 500: Internal server error

Servicio Validate Token

Envía un correo al usuario para cambiar su contraseña. Utiliza las funciones de firebase Auth para esto.

Input

{
    "email": "[email protected]",
}

Output

{
 "message": "email sent"
}

Error Messages

  • Error code 400: Invalid email/ Missing email
  • Error code 500: Internal server error

Servicio MakeAdmin

Verifica la validez de un JWT

Input

header "Authorization"

#### Output

{ "message": "Valid token" }

#### Error Messages
- Error code 401: Invalid Token
- Error code 500: Internal server error