Desarrollo de FoxIDs / contribución de código
Puede ejecutar FoxIDs localmente en Visual Studio en su máquina de desarrollo.
Clone el repositorio GitHub de FoxIDs y posiblemente haga pull requests.
Descripción de la solución:
- FoxIDs es la aplicación ASP.NET Core de FoxIDs Identity Service
Endpoint localhttps://localhost:44330 - FoxIDs.Control es la API ASP.NET Core de FoxIDs Control y el host del FoxIDs Control Client Blazor WebAssembly
Endpoint localhttps://localhost:44331
Endpoint local de la APIhttps://localhost:44331/api/
Endpoint Swagger (OpenApi) de la APIhttps://localhost:44331/api/swagger/v2/swagger.json - FoxIDs.ControlClient es el FoxIDs Control Client Blazor WebAssembly
- FoxIDs.ControlShared es una biblioteca compartida entre el backend de la API FoxIDs Control y el frontend FoxIDs Control Client Blazor WebAssembly
- FoxIDs.Shared es una biblioteca compartida entre la aplicación ASP.NET Core FoxIDs y la API ASP.NET Core FoxIDs Control
- FoxIDs.SharedBase es una biblioteca compartida por todos
Abra la solución FoxIDs en Visual Studio o en su herramienta de desarrollo preferida.
La solución está configurada por defecto para ejecutarse localmente y usar almacenamiento de archivos tanto para datos como para caché. Los archivos se guardan por defecto en la carpeta data en la raíz de la carpeta de la solución.
El archivo de configuración predeterminado appsettings.json en el proyecto FoxIDs:
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
El archivo de configuración predeterminado appsettings.json en el proyecto FoxIDs.Control:
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"FoxIDsControlEndpoint": "https://localhost:44331",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
¡Pulse ejecutar! El sitio FoxIDs Control debería iniciarse en un navegador.
Inicie sesión con el usuario administrador predeterminado admin@foxids.com con la contraseña FirstAccess!
Después de iniciar sesión con éxito, tendrá acceso al tenant master. Luego debe crear un tenant de desarrollo donde pueda agregar aplicaciones (registro de aplicación), API (registro de aplicación), login de usuario (método de autenticación) y confianza externa (método de autenticación).
Después de crear su tenant de dev, puede seguir la guía de inicio.
Proxy de cliente API
Es posible integrarse con la API de FoxIDs Control de diferentes maneras; es una API simple que expone una descripción de interfaz con Swagger (OpenApi).
Por ejemplo, es posible generar código cliente con NSwag:
- Generar código con la extensión de Visual Studio https://github.com/dmitry-pavlov/api-client-generation-tools.
- Generar código con NSwagStudio https://github.com/RicoSuter/NSwag/wiki/NSwagStudio. Descripción de Microsoft https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-nswag?view=aspnetcore-2.2&tabs=visual-studio#generate-code-with-nswagstudio.
- Generación automática de clientes API en la compilación con NSwag https://blog.sanderaernouts.com/autogenerate-api-client-with-nswag
Puede encontrar un ejemplo de código en FoxIDs.SampleSeedTool que genera automáticamente clientes API en la compilación cuando GenerateCode es true en el archivo de proyecto.