FoxIDs utvikling / kodebidrag
Du kan kjøre FoxIDs lokalt i Visual Studio på din utviklingsmaskin.
Klon FoxIDs GitHub repository og lag eventuelt pull requests.
Løsningsbeskrivelse:
- FoxIDs er FoxIDs Identity Service ASP.NET Core applikasjonen
Lokal endpointhttps://localhost:44330 - FoxIDs.Control er FoxIDs Control ASP.NET Core API og vert 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 mellom FoxIDs Control API backend og FoxIDs Control Client Blazor WebAssembly frontend
- FoxIDs.Shared er et bibliotek delt mellom FoxIDs ASP.NET Core applikasjonen og FoxIDs Control ASP.NET Core API
- FoxIDs.SharedBase er et bibliotek delt av alle
Åpne FoxIDs løsningen i Visual Studio eller i ditt foretrukne utviklerverktøy.
Løsningen er som standard konfigurert til å kjøre lokalt og bruke et fil lager for både data og cache. Filene blir som standard lagret i data mappen i roten av løsningsmappen.
Standard konfigurasjonsfilen appsettings.json i FoxIDs prosjektet:
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
Standard konfigurasjonsfilen appsettings.json i FoxIDs.Control prosjektet:
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"FoxIDsControlEndpoint": "https://localhost:44331",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
Trykk run! FoxIDs Control siden bør åpnes i en nettleser.
Logg inn med standard admin brukeren admin@foxids.com med passord FirstAccess!
Etter vellykket innlogging har du tilgang til master tenant. Deretter bør du opprette en dev tenant hvor du kan legge til applikasjoner (applikasjonsregistrering), APIer (applikasjonsregistrering), bruker login (autentiseringsmetode) og ekstern trust (autentiseringsmetode).
Etter at dev tenant er opprettet kan du følge kom i gang guiden.
API klient proxy
Det er mulig å integrere med FoxIDs Control API på forskjellige måter, det er bare et vanlig API som eksponerer en grensesnittbeskrivelse med Swagger (OpenApi).
Det er f.eks. mulig å 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 av API klienter ved build med NSwag https://blog.sanderaernouts.com/autogenerate-api-client-with-nswag
Du kan finne et kode eksempel i FoxIDs.SampleSeedTool som automatisk genererer en API klient ved build. Når GenerateCode er true i prosjektfilen.