Développement FoxIDs / contribution au code
Vous pouvez exécuter FoxIDs localement dans Visual Studio sur votre machine de développement.
Clonez le dépôt GitHub FoxIDs et éventuellement faites des pull requests.
Description de la solution :
- FoxIDs est l’application ASP.NET Core FoxIDs Identity Service
Endpoint localhttps://localhost:44330 - FoxIDs.Control est l’API ASP.NET Core FoxIDs Control et l’hôte du FoxIDs Control Client Blazor WebAssembly
Endpoint localhttps://localhost:44331
Endpoint local de l’APIhttps://localhost:44331/api/
Endpoint Swagger (OpenApi) de l’APIhttps://localhost:44331/api/swagger/v2/swagger.json - FoxIDs.ControlClient est le FoxIDs Control Client Blazor WebAssembly
- FoxIDs.ControlShared est une bibliothèque partagée entre le backend de l’API FoxIDs Control et le frontend FoxIDs Control Client Blazor WebAssembly
- FoxIDs.Shared est une bibliothèque partagée entre l’application ASP.NET Core FoxIDs et l’API ASP.NET Core FoxIDs Control
- FoxIDs.SharedBase est une bibliothèque partagée par tous
Ouvrez la solution FoxIDs dans Visual Studio ou dans votre outil de développement préféré.
La solution est configurée par défaut pour s’exécuter localement et utiliser un stockage de fichiers pour les données et le cache. Les fichiers sont enregistrés par défaut dans le dossier data à la racine du dossier de la solution.
Le fichier de configuration par défaut appsettings.json dans le projet FoxIDs :
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
Le fichier de configuration par défaut appsettings.json dans le projet FoxIDs.Control :
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"FoxIDsControlEndpoint": "https://localhost:44331",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
Cliquez sur Exécuter ! Le site FoxIDs Control devrait être lancé dans un navigateur.
Connectez-vous avec l’utilisateur admin par défaut admin@foxids.com avec le mot de passe FirstAccess!
Après une connexion réussie, vous avez accès au tenant master. Vous devriez ensuite créer un tenant de développement où vous pouvez ajouter des applications (inscription d’application), des API (inscription d’application), un login utilisateur (méthode d’authentification) et une confiance externe (méthode d’authentification).
Après avoir créé votre tenant de dev, vous pouvez suivre le guide bien démarrer.
Proxy client API
Il est possible d’intégrer l’API FoxIDs Control de différentes manières, c’est une API simple exposant une description d’interface avec Swagger (OpenApi).
Par exemple, il est possible de générer du code client avec NSwag :
- Générer du code avec l’extension Visual Studio https://github.com/dmitry-pavlov/api-client-generation-tools.
- Générer du code avec NSwagStudio https://github.com/RicoSuter/NSwag/wiki/NSwagStudio. Description 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.
- Génération automatique de clients API à la compilation avec NSwag https://blog.sanderaernouts.com/autogenerate-api-client-with-nswag
Vous pouvez trouver un exemple de code dans FoxIDs.SampleSeedTool qui génère automatiquement des clients API à la compilation lorsque GenerateCode est true dans le fichier projet.