FoxIDs udvikling / kodebidrag
Du kan køre FoxIDs lokalt i Visual Studio på din udviklingsmaskine.
Klon FoxIDs GitHub repository og lav eventuelt pull requests.
Løsningsbeskrivelse:
- FoxIDs er FoxIDs Identity Service ASP.NET Core applikationen
Lokal endpointhttps://localhost:44330 - FoxIDs.Control er FoxIDs Control ASP.NET Core API og host for FoxIDs Control Client Blazor WebAssembly
Lokal endpointhttps://localhost:44331
Lokal API endpointhttps://localhost:44331/api/
API Swagger (OpenApi) endpointhttps://localhost:44331/api/swagger/v2/swagger.json - FoxIDs.ControlClient er FoxIDs Control Client Blazor WebAssembly
- FoxIDs.ControlShared er et bibliotek delt mellem FoxIDs Control API backend og FoxIDs Control Client Blazor WebAssembly frontend
- FoxIDs.Shared er et bibliotek delt mellem FoxIDs ASP.NET Core applikationen og FoxIDs Control ASP.NET Core API
- FoxIDs.SharedBase er et bibliotek delt af alle
Åbn FoxIDs løsningen i Visual Studio eller i dit foretrukne udviklingsværktøj.
Løsningen er som standard konfigureret til at køre lokalt og til at bruge et fil lager for både data og cache. Filerne gemmes som standard i data mappen i roden af løsningsmappen.
Standard konfigurationsfilen appsettings.json i FoxIDs projektet:
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
Standard konfigurationsfilen appsettings.json i FoxIDs.Control projektet:
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"FoxIDsControlEndpoint": "https://localhost:44331",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
Tryk run! FoxIDs Control siden bør blive åbnet i en browser.
Login med standard admin bruger admin@foxids.com med password FirstAccess!
Efter succesfuldt login har du adgang til master tenant. Du bør derefter oprette en dev tenant hvor du kan tilføje applikationer (applikationsregistrering), APIer (applikationsregistrering), bruger login (autentificeringsmetode) og ekstern trust (autentificeringsmetode).
Når din dev tenant er oprettet kan du følge get started guiden.
API klient proxy
Det er muligt at integrere med FoxIDs Control API på forskellige måder, det er blot et almindeligt API der eksponerer en interface beskrivelse med Swagger (OpenApi).
Det er f.eks. muligt at generere klientkode med NSwag:
- Generer kode med Visual Studio extension https://github.com/dmitry-pavlov/api-client-generation-tools.
- Generer kode med NSwagStudio https://github.com/RicoSuter/NSwag/wiki/NSwagStudio. Microsoft beskrivelse https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-nswag?view=aspnetcore-2.2&tabs=visual-studio#generate-code-with-nswagstudio.
- Automatisk generering af API klienter ved build med NSwag https://blog.sanderaernouts.com/autogenerate-api-client-with-nswag
Du kan finde et kode eksempel i FoxIDs.SampleSeedTool som automatisk genererer en API klient ved build. Når GenerateCode er true i projektfilen.