Rozwój FoxIDs / wkład w kod
Możesz uruchomić FoxIDs lokalnie w Visual Studio na swojej maszynie deweloperskiej.
Sklonuj repozytorium FoxIDs na GitHub i opcjonalnie twórz pull requesty.
Opis rozwiązania:
- FoxIDs to aplikacja ASP.NET Core FoxIDs Identity Service
Lokalny punkt końcowyhttps://localhost:44330 - FoxIDs.Control to API ASP.NET Core FoxIDs Control oraz host klienta FoxIDs Control Client w Blazor WebAssembly
Lokalny punkt końcowyhttps://localhost:44331
Lokalny punkt końcowy APIhttps://localhost:44331/api/
Punkt końcowy Swagger (OpenApi) APIhttps://localhost:44331/api/swagger/v2/swagger.json - FoxIDs.ControlClient to klient FoxIDs Control Client w Blazor WebAssembly
- FoxIDs.ControlShared to biblioteka współdzielona pomiędzy backendem API FoxIDs Control i frontendem FoxIDs Control Client w Blazor WebAssembly
- FoxIDs.Shared to biblioteka współdzielona pomiędzy aplikacją ASP.NET Core FoxIDs a API ASP.NET Core FoxIDs Control
- FoxIDs.SharedBase to biblioteka współdzielona przez wszystkie projekty
Otwórz rozwiązanie FoxIDs w Visual Studio lub w preferowanym narzędziu deweloperskim.
Rozwiązanie jest domyślnie skonfigurowane do uruchamiania lokalnie i używania magazynu plików zarówno dla danych, jak i pamięci podręcznej. Pliki są domyślnie zapisywane w folderze data w katalogu głównym rozwiązania.
Domyślny plik konfiguracyjny appsettings.json w projekcie FoxIDs:
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
Domyślny plik konfiguracyjny appsettings.json w projekcie FoxIDs.Control:
{
...
"Settings": {
"FoxIDsEndpoint": "https://localhost:44330",
"FoxIDsControlEndpoint": "https://localhost:44331",
"Options": {
"Log": "Stdout",
"DataStorage": "File",
"KeyStorage": "None",
"Cache": "File",
"DataCache": "None"
}
}
}
Kliknij uruchom! Strona FoxIDs Control powinna uruchomić się w przeglądarce.
Zaloguj się domyślnym kontem administratora admin@foxids.com z hasłem FirstAccess!
Po pomyślnym zalogowaniu masz dostęp do master tenanta. Następnie utwórz tenant deweloperski, w którym możesz dodawać aplikacje (rejestracja aplikacji), interfejsy API (rejestracja aplikacji), logowanie użytkowników (metoda uwierzytelniania) i zaufanie zewnętrzne (metoda uwierzytelniania).
Po utworzeniu tenanta deweloperskiego możesz skorzystać z przewodnika Rozpocznij pracę.
Proxy klienta API
Można integrować się z FoxIDs Control API na różne sposoby, to zwykłe API, które wystawia opis interfejsu w Swagger (OpenApi).
Na przykład można wygenerować kod klienta za pomocą NSwag:
- Generowanie kodu z rozszerzeniem Visual Studio https://github.com/dmitry-pavlov/api-client-generation-tools.
- Generowanie kodu z NSwagStudio https://github.com/RicoSuter/NSwag/wiki/NSwagStudio. Opis 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.
- Automatyczne generowanie klientów API podczas budowy z NSwag https://blog.sanderaernouts.com/autogenerate-api-client-with-nswag
Przykład kodu znajdziesz w FoxIDs.SampleSeedTool, który automatycznie generuje klientów API podczas budowy, gdy GenerateCode jest ustawione na true w pliku projektu.