FoxIDs utveckling / kodbidrag
Du kan köra FoxIDs lokalt i Visual Studio på din utvecklingsmaskin.
Klona FoxIDs GitHub repository och gör eventuellt pull requests.
Lösningsbeskrivning:
- FoxIDs är FoxIDs Identity Service ASP.NET Core applikationen
Lokalt endpointhttps://localhost:44330 - FoxIDs.Control är FoxIDs Control ASP.NET Core API och värd för FoxIDs Control Client Blazor WebAssembly
Lokalt endpointhttps://localhost:44331
Lokalt API endpointhttps://localhost:44331/api/
API Swagger (OpenApi) endpointhttps://localhost:44331/api/swagger/v2/swagger.json - FoxIDs.ControlClient är FoxIDs Control Client Blazor WebAssembly
- FoxIDs.ControlShared är ett bibliotek som delas mellan FoxIDs Control API backend och FoxIDs Control Client Blazor WebAssembly frontend
- FoxIDs.Shared är ett bibliotek som delas mellan FoxIDs ASP.NET Core applikationen och FoxIDs Control ASP.NET Core API
- FoxIDs.SharedBase är ett bibliotek som delas av alla
Öppna FoxIDs lösningen i Visual Studio eller i ditt föredragna utvecklingsverktyg.
Lösningen är som standard konfigurerad att köra lokalt och använda en fil store för både data och cache. Filerna sparas som standard i data mappen i roten av lösningsmappen.
Standard konfigurationsfil appsettings.json i FoxIDs projektet:
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
Standard konfigurationsfil 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"
}
}
}
Tryck run! FoxIDs Control sidan ska startas i en webbläsare.
Logga in med standard admin användare admin@foxids.com med lösenord FirstAccess!
Efter lyckad inloggning har du åtkomst till master tenant. Du bör sedan skapa en dev tenant där du kan lägga till applikationer (applikationsregistrering), APIer (applikationsregistrering), användar login (autentiseringsmetod) och extern trust (autentiseringsmetod).
Efter att din dev tenant skapats kan du följa kom igång guiden.
API klient proxy
Det är möjligt att integrera med FoxIDs Control API på olika sätt, det är bara ett vanligt API som exponerar en gränssnittsbeskrivning med Swagger (OpenApi).
Det är t.ex. möjligt att generera klientkod med NSwag:
- Generera kod med Visual Studio extension https://github.com/dmitry-pavlov/api-client-generation-tools.
- Generera kod med NSwagStudio https://github.com/RicoSuter/NSwag/wiki/NSwagStudio. Microsoft beskrivning https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-nswag?view=aspnetcore-2.2&tabs=visual-studio#generate-code-with-nswagstudio.
- Automatiskt generera API klienter vid build med NSwag https://blog.sanderaernouts.com/autogenerate-api-client-with-nswag
Du kan hitta ett kodexempel i FoxIDs.SampleSeedTool som automatiskt genererar en API klient vid build. När GenerateCode är true i projektfilen.