FoxIDs Entwicklung / Codebeitrag
Du kannst FoxIDs lokal in Visual Studio auf deiner Entwicklungsmaschine ausführen.
Klon das FoxIDs GitHub Repository und erstelle bei Bedarf Pull Requests.
Lösungsbeschreibung:
- FoxIDs ist die FoxIDs Identity Service ASP.NET Core Anwendung
Lokaler Endpointhttps://localhost:44330 - FoxIDs.Control ist das FoxIDs Control ASP.NET Core API und Host des FoxIDs Control Client Blazor WebAssembly
Lokaler Endpointhttps://localhost:44331
Lokaler API Endpointhttps://localhost:44331/api/
API Swagger (OpenApi) Endpointhttps://localhost:44331/api/swagger/v2/swagger.json - FoxIDs.ControlClient ist der FoxIDs Control Client Blazor WebAssembly
- FoxIDs.ControlShared ist eine Bibliothek, die zwischen dem FoxIDs Control API Backend und dem FoxIDs Control Client Blazor WebAssembly Frontend geteilt wird
- FoxIDs.Shared ist eine Bibliothek, die zwischen der FoxIDs ASP.NET Core Anwendung und dem FoxIDs Control ASP.NET Core API geteilt wird
- FoxIDs.SharedBase ist eine Bibliothek, die von allen geteilt wird
Öffne die FoxIDs Lösung in Visual Studio oder in deinem bevorzugten Entwicklerwerkzeug.
Die Lösung ist standardmäßig so konfiguriert, dass sie lokal ausgeführt wird und einen Dateispeicher für Daten und Cache verwendet. Die Dateien werden standardmäßig im Ordner data im Root der Lösungsmappe gespeichert.
Die Standard Konfigurationsdatei appsettings.json im FoxIDs Projekt:
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
Die Standard Konfigurationsdatei appsettings.json im FoxIDs.Control Projekt:
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"FoxIDsControlEndpoint": "https://localhost:44331",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
Klicke Run! Die FoxIDs Control Seite sollte in einem Browser gestartet werden.
Melde dich mit dem Standard Admin Benutzer admin@foxids.com mit dem Passwort FirstAccess! an.
Nach erfolgreichem Login hast du Zugriff auf den Master Tenant. Danach solltest du einen Dev Tenant erstellen, in dem du Anwendungen (Anwendungsregistrierung), APIs (Anwendungsregistrierung), Benutzer Login (Authentifizierungsmethode) und externe Trusts (Authentifizierungsmethode) hinzufügen kannst.
Nachdem dein Dev Tenant erstellt ist, kannst du der Get Started Anleitung folgen.
API Client Proxy
Es ist möglich, sich auf verschiedene Weise mit dem FoxIDs Control API zu integrieren, es ist nur ein normales API, das eine Interface Beschreibung mit Swagger (OpenApi) bereitstellt.
Zum Beispiel ist es möglich, Client Code mit NSwag zu generieren:
- Generiere Code mit der Visual Studio Extension https://github.com/dmitry-pavlov/api-client-generation-tools.
- Generiere Code mit NSwagStudio https://github.com/RicoSuter/NSwag/wiki/NSwagStudio. Microsoft Beschreibung https://docs.microsoft.com/en-us/aspnet/core/tutorials/getting-started-with-nswag?view=aspnetcore-2.2&tabs=visual-studio#generate-code-with-nswagstudio.
- Automatisch generierte API Clients beim Build mit NSwag https://blog.sanderaernouts.com/autogenerate-api-client-with-nswag
Ein Code Beispiel findest du in FoxIDs.SampleSeedTool, das automatisch einen API Client beim Build generiert. Wenn GenerateCode in der Projektdatei true ist.