Usamos cookies para asegurarnos de brindarle la mejor experiencia en nuestro sitio web. Lea nuestro Política de privacidad.
RECHAZAR TODAS LAS COOKIESESTOY DE ACUERDO
Código abierto
Código abierto - Servicio

Servicio de API de almacenamiento

Visite nuestro repositorio de Github
By
2am.
June 19, 2024
6 minutos de lectura
Esta biblioteca es un microservicio que almacena archivos utilizando la abstracción del sistema de archivos league/flysystem. Fue creada para permitir que nuestros equipos de desarrollo en 2am.tech eviten tener que configurar adaptadores de almacenamiento una y otra vez en proyectos que utilizan una infraestructura de microservicios. Es una combinación de dos aplicaciones independientes: una es una aplicación CI de Symfony y la otra es una API construida con Slim3.

El proyecto utiliza Monolog para el registro de logs, Fractal como serializador, Tactician como bus de comandos, autenticación básica (Basic access authentication) y JSON Web Tokens para autenticación (esto es opcional), Zend Filter para el filtrado y validación de datos, y Phinx para las migraciones de base de datos.

Los archivos de Docker Compose y la colección de Postman están incluidos para facilitar el desarrollo, aunque Docker no es estrictamente necesario, ya que fácilmente podrías usar el servidor embebido de PHP.

Instalación

Instala la última versión usando Composer.

$ composer create-project --no-interaction --stability=dev 2amigos/storage-service app

Configuración

El proyecto usa archivos de entorno para configurar los secretos. Por ese motivo, debe crear un archivo denominado .env en el directorio raíz del proyecto. Un Ejemplo de.env. se ha proporcionado el archivo con todos los valores de entorno requeridos. Modifique ese archivo y guárdelo como .env en el directorio raíz.

De forma predeterminada, la aplicación API está configurada para funcionar en los procesos de autenticación básicos. Para ello, utiliza una variedad de usuarios, pero puede cambiar fácilmente ese comportamiento configurando la opción de autenticación del Middleware de autenticación básica HTTP creando el suyo propio o utilizando uno proporcionado por la biblioteca. Consulta el Autenticador PDO.

Si la autenticación se realiza correctamente, la acción devolverá un token web Json que se utilizará en las llamadas posteriores.

La autenticación o el uso de ámbitos son opcionales. Si no desea trabajar con este tipo de configuración, simplemente elimine las configuraciones de middleware de Autenticación básica HTTP, Autenticación JWT y Alcance Middleware middleware.

Uso

Crea una base de datos con las credenciales que definiste en el archivo .env. Ahora puedes ejecutar las migraciones de base de datos con Phinx utilizando el siguiente comando:

./vendor/bin/phinx migrate -e development

Para este ejemplo, vaya a la carpeta pública de la aplicación e inicie el servidor PHP integrado de la siguiente manera:

php -S localhost:8080

Ahora podemos acceder a la API en http://127.0.0.1:8080.

Consigue un token

Para obtener un token, haga lo siguiente:

1$ curl "https://127.0.0.1:8080/token" \
2--request POST \ 
3--include \ 
4--insecure \ 
5--header "Content-Type: application/json" \ 
6--data '["mail.all"]' \ 
7 --user test:test
8
9# response
10HTTP/1.1 201 Created
11Content-Type: application/json
12{ 
13"data": { "token": "XXXXXXXXXX", "expires": 1550271641 }
14}

Para obtener más información, consulte su documentación en GitHub.

Colaboradores

¡Gracias a todos por sus inestimables esfuerzos!

Comparte esta publicación
Volver al código abierto
No te pierdas
nuestras últimas ideas
— ¡Suscríbete ahora!
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Navigate
Empieza ahora