.NET Samples

Die FoxIDs .NET Samples zeigen:

  • Benutzer Login und Logout mit OpenID Connect 1.0 und SAML 2.0
  • Client Credentials Grant mit Secret und Zertifikat
  • API Aufrufe gesichert mit OAuth 2.0
  • Token exchange von Access Token zu Access Token und SAML 2.0 zu Access Token

Den Sample Quellcode finden Sie im FoxIDs.Samples Repository.

Die Samples sind in der FoxIDs Online Test Tenant test-corp vorkonfiguriert und können sofort lokal in Visual Studio auf den vorkonfigurierten localhost Ports ausgeführt werden.

Sehen Sie sich die FoxIDs Test Konfiguration in FoxIDs Control an: https://control.foxids.com/test-corp
Erhalten Sie read access mit dem Benutzer reader@foxids.com und Passwort gEh#V6kSw

Alternativ können Sie die Samples in Ihrem eigenen FoxIDs Umfeld konfigurieren.

Sample Index

Sie können das JWT tool und das SAML 2.0 tool verwenden, um Tokens zu dekodieren und selbstsignierte Zertifikate mit dem certificate tool zu erstellen.

Sample Applikationen

Die Samples zeigen unterschiedliche Applikationen, die FoxIDs als IdP vertrauen.

AspNetCoreOidcAuthCodeAllUpPartiesSample

Sample (code link) Applikation, die Benutzer Login und Logout mit OpenID Connect (OIDC) unter Verwendung des authorization code flow als Service Provider zeigt und Login über alle Authentifizierungsmethoden anfordert.

Sie können dieses sample online testen.

Dieses Sample ist ein guter Einstieg!

Die möglichen Authentifizierungsmethoden werden in der Applikationsregistrierung als erlaubte Authentifizierungsmethoden konfiguriert. Es können eine bis viele erlaubte Authentifizierungsmethoden konfiguriert werden. Alle konfigurierten Authentifizierungsmethoden werden mit einem Stern statt einem Authentifizierungsmethoden Namen ausgewählt.

Unterstützt Login/Logout mit der FoxIDs Login Seite, Identity Server, SAML 2.0 IdP sample und allen anderen Authentifizierungsmethoden.

API Aufrufe:

  • Zeigt, wie die API1 sample gesichert mit einem Access Token aufgerufen wird.
  • Zeigt, wie die API1 sample gesichert mit einem Access Token aufgerufen wird, die wiederum die API2 sample mit token exchange innerhalb von API1 aufruft.
  • Zeigt, wie ein Access Token durch token exchange erhalten wird, der Client verwendet client authentication method client_secret_post. Und ruft dann die API2 sample gesichert mit dem erhaltenen Access Token auf.

Lokale Entwicklungsdomain und Port: https://localhost:44349

AspNetCoreOidcAuthorizationCodeSample

Sample (code link) Applikation, die Benutzer Login und Logout mit OpenID Connect (OIDC) unter Verwendung des authorization code flow als Service Provider zeigt.

Unterstützt Login/Logout mit der FoxIDs Login Seite, Identity Server, SAML 2.0 IdP sample und wenn konfiguriert AD FS mit SAML 2.0.

Zeigt, wie die API1 sample gesichert mit einem Access Token aufgerufen wird.

Lokale Entwicklungsdomain und Port: https://localhost:44340

AspNetCoreOidcImplicitSample

Sample (code link) Applikation, die Benutzer Login und Logout mit OpenID Connect (OIDC) unter Verwendung des implicit flow als Service Provider zeigt.

Unterstützt Login/Logout mit der FoxIDs Login Seite, Identity Server, SAML 2.0 IdP sample und wenn konfiguriert AD FS mit SAML 2.0.

Lokale Entwicklungsdomain und Port: https://localhost:44341

AspNetCoreSamlSample

Sample (code link) Applikation, die Benutzer Login und Logout mit SAML 2.0 als Relying Party zeigt.

Unterstützt Login/Logout mit der FoxIDs Login Seite, Identity Server, SAML 2.0 IdP sample und wenn konfiguriert AD FS mit SAML 2.0.

Zeigt, wie ein Access Token aus einem SAML 2.0 Bearer Token durch token exchange erhalten wird, der Client verwendet client authentication method private_key_jwt (Zertifikat). Und ruft dann die API1 sample gesichert mit dem erhaltenen Access Token auf.

Lokale Entwicklungsdomain und Port: https://localhost:44343

NetCoreClientCredentialGrantConsoleSample

Sample (code link) Console Applikation (backend), die Client Authentifizierung mit OAuth 2.0 Client Credentials Grant unter Verwendung eines Secret (client authentication method client_secret_post) zeigt.

Zeigt, wie die API1 sample und API mit zwei IdP sample gesichert mit einem Access Token aufgerufen werden.

NetCoreClientCredentialGrantAssertionConsoleSample

Sample (code link) Console Applikation (backend), die Client Authentifizierung mit OAuth 2.0 Client Credentials Grant unter Verwendung eines Zertifikats (client authentication method private_key_jwt) zeigt.

Zeigt, wie die API1 sample und API mit zwei IdP sample gesichert mit einem Access Token aufgerufen werden.

NetFramework4.7ClientCredentialGrantAssertionConsoleSample

Sample (code link) .NET Framework 4.7 Console Applikation (backend), die Client Authentifizierung mit OAuth 2.0 Client Credentials Grant unter Verwendung eines Zertifikats (client authentication method private_key_jwt) zeigt.

Zeigt, wie die API1 sample und API mit zwei IdP sample gesichert mit einem Access Token aufgerufen werden.

BlazorBFFAspNetCoreOidcSample

Sample (code link client und server) Applikation, die Benutzer Login und Logout mit OpenID Connect (OIDC) unter Verwendung des authorization code flow in einer Blazor BFF (Backend For Frontend) Applikation mit einem ASP.NET Core backend zeigt.
In einer BFF Architektur verarbeitet das backend OIDC, die Tokens werden niemals mit dem Blazor client geteilt. Stattdessen sichert eine Session basierend auf einem Identity Cookie die Applikation nach erfolgreicher Benutzer Authentifizierung.

Das Sample zeigt, wie die API1 sample sowohl vom Blazor client über einen backend API proxy aufgerufen wird, der dem ausgehenden API Aufruf das Access Token hinzufügt.

Lokale Entwicklungsdomain und Port: https://localhost:44348

BlazorOidcPkceSample

Blazor Sample (code link) Applikation, die Benutzer Login und Logout mit OpenID Connect (OIDC) unter Verwendung des authorization code flow und PKCE als Service Provider zeigt.

Zeigt, wie die API1 sample gesichert mit einem Access Token aufgerufen wird.

Lokale Entwicklungsdomain und Port: https://localhost:44345

BlazorServerOidcSample

Blazor Server Sample (code link) Applikation, die Benutzer Login und Logout mit OpenID Connect (OIDC) unter Verwendung des authorization code flow als Service Provider zeigt.

Zeigt, wie die API1 sample gesichert mit einem Access Token aufgerufen wird.

Lokale Entwicklungsdomain und Port: https://localhost:44347

AspNetCoreApi1Sample

Sample (code link) API, die zeigt, wie ein API mit einem Access Token gesichert wird und wie der Zugriff über Scopes eingeschränkt wird.

Sie können dieses sample online aufrufen.

Die API ruft die API2 sample gesichert mit einem Access Token auf, das durch token exchange erhalten wurde, wobei der Client client authentication method private_key_jwt (Zertifikat) verwendet.

Lokale Entwicklungsdomain und Port: https://localhost:44344

AspNetCoreApi2Sample

Sample (code link) API, die zeigt, wie ein API mit einem Access Token gesichert wird und wie der Zugriff durch einen Scope eingeschränkt wird.

Sie können dieses sample online aufrufen.

Lokale Entwicklungsdomain und Port: https://localhost:44351

AspNetCoreApiOAuthTwoIdPsSample

Sample (code link) API, die zeigt, wie ein API erstellt wird, das Access Tokens von zwei verschiedenen IdP akzeptieren kann. Jede IdP - API Beziehung kann mit individuellen resource IDs und scopes konfiguriert werden.

Dieses Szenario tritt am häufigsten in einer Übergangsphase auf, wenn von einer IdP zu einer anderen IdP gewechselt wird. Mit APIs mit Dual IdP Support können Clients unabhängig von den APIs von einer IdP zu einer anderen IdP verschoben werden.

Das Sample API kann durch Auskommentieren von Code in den Samples NetCoreClientCredentialGrantConsoleSample oder NetCoreClientCredentialGrantAssertionConsoleSample aufgerufen werden.

Lokale Entwicklungsdomain und Port: https://localhost:44350

Authentifizierungsmethode Samples

Die Authentifizierungsmethode Samples zeigen verschiedene IdPs, die mit FoxIDs verbunden sind, wobei FoxIDs den IdP Samples vertraut.

AspNetCoreSamlIdPSample

Sample (code link) Applikation, die einen SAML 2.0 Identity Provider (IdP) implementiert, der als SAML 2.0 Authentifizierungsmethode in FoxIDs verbunden ist. Das Sample zeigt auch, wie IdP-Initiated Login durchgeführt wird.

Sie können dieses sample online testen.

Lokale Entwicklungsdomain und Port: https://localhost:44342

IdentityServerOidcOpSample

Identity Server (code link) implementiert OpenID Connect (OIDC) und stellt einen OpenID Provider (OP) / Identity Provider (IdP) bereit, der als OpenID Connect Authentifizierungsmethode in FoxIDs verbunden ist.

Lokale Entwicklungsdomain und Port: https://localhost:44346

ExternalLoginApiSample

Sample (code link) Applikation, die ein externes Login API implementiert, das als external login Authentifizierungsmethode in FoxIDs verbunden ist.

Lokale Entwicklungsdomain und Port: https://localhost:44352

ExternalClaimsApiSample

Sample (code link) Applikation, die ein externes Claims API implementiert, das konfiguriert und von einer Claims Transform aufgerufen werden kann. Das externe Claims API kann dann externe Claims zu den ausgegebenen Claims hinzufügen.

Lokale Entwicklungsdomain und Port: https://localhost:44353

ExternalExtendedUiApiSample

Sample (code link) Applikation, die ein externes extended UI API implementiert, das konfiguriert und aufgerufen werden kann, um dynamische UI Elemente zu validieren und optional zusätzliche Claims zurückzugeben.

Lokale Entwicklungsdomain und Port: https://localhost:44354

ExternalPasswordApiSample

Sample (code link) Applikation, die ein externes Passwort API implementiert, das als externes Passwort API in einer FoxIDs Umgebung verbunden ist.

Lokale Entwicklungsdomain und Port: https://localhost:44355

FoxIDsControlApiSample

Sample (code link) Console Applikation, die zeigt, wie die FoxIDs Control API aufgerufen wird.

Samples in FoxIDs Umfeld konfigurieren

Die Samples können in einem FoxIDs Umfeld mit dem sample seed tool oder manuell über den FoxIDs Control Client konfiguriert werden.

Das sample seed tool befindet sich in der sample solution: tools/SampleSeedTool.

Sample seed tool konfigurieren

Das sample seed tool wird in der appsettings.json Datei konfiguriert.

Fügen Sie die FoxIDs und FoxIDs Control API Endpoints zur sample seed tool Konfiguration hinzu. Sie können hinzugefügt werden, indem die Instanznamen https://foxids.com und https://control.foxids.com/api aktualisiert werden. Wenn Sie FoxIDs lokal in Visual Studio ausführen, sind die Endpoints auf FoxIDs localhost https://localhost:44330/ und FoxIDs Control API localhost https://localhost:44331/ konfiguriert.

"SeedSettings": {
    "FoxIDsEndpoint": "https://foxids.com", 
    "FoxIDsConsolApiEndpoint": "https://control.foxids.com/api"
}

Zugriff zum Erstellen der sample Konfiguration in einer Umgebung wird in der master Umgebung gewährt. Die sample Konfiguration sollte nicht zur master Umgebung hinzugefügt werden.

Erstellen Sie einen sample seed tool OAuth 2.0 Client im FoxIDs Control Client:

  1. Wählen Sie die master Umgebung und erstellen Sie eine OAuth 2.0 Applikationsregistrierung, klicken Sie OAuth 2.0 - Client Credentials Grant.
  2. Setzen Sie die Client ID auf sample_seed.
  3. Merken Sie sich das Client Secret.
  4. Im Abschnitt resource und scopes: Gewähren Sie dem sample seed Client Zugriff auf die FoxIDs Control API Resource foxids_control_api mit dem Scope foxids:tenant.
  5. Klicken Sie show advanced.
  6. Im Abschnitt issue claims: Fügen Sie eine Claim mit dem Namen role und dem Wert foxids:tenant.admin hinzu. Damit wird dem Client die Administrator Rolle gewährt.

Der sample seed tool Client erhält dadurch Zugriff, um den Tenant zu aktualisieren.

FoxIDs Control Client - sample_seed client

Erstellen Sie eine neue FoxIDs Umgebung für die sample Applikationen oder wählen Sie eine vorhandene Umgebung.

Ändern Sie den Tenant, die Umgebung und das sample seed tool Client Secret in der sample seed tool Konfiguration.

"SeedSettings": {
  "Tenant": "xxx",
  "Track": "xxx",
  "DownParty": "sample_seed",
  "ClientSecret": "xxx"
}

Ändern Sie die Tenant und Umgebungs Konfiguration für alle Samples.

Sample seed tool ausführen

Führen Sie das sample seed tool executable SampleSeedTool.exe aus oder starten Sie das seed tool direkt in Visual Studio.

  • Klicken Sie 'c', um die sample Konfiguration zu erstellen
  • Klicken Sie 'd', um die sample Konfiguration zu löschen

Das sample seed tool erstellt und löscht Konfigurationen für alle Samples.

Die sample Applikationen erfordern eine Login Authentifizierungsmethode mit dem Namen login (behandelt Benutzer Login). Sie wird vom sample seed tool erstellt, wenn sie nicht vorhanden ist. Die Login Authentifizierungsmethode wird nicht gelöscht, wenn die sample Konfiguration gelöscht wird.

Ihre Privatsphäre

Wir verwenden Cookies, um Ihre Erfahrung auf unseren Websites zu verbessern. Klicken Sie auf 'Alle Cookies akzeptieren', um der Verwendung von Cookies zuzustimmen. Um nicht notwendige Cookies abzulehnen, klicken Sie auf 'Nur notwendige Cookies'.

Weitere Informationen finden Sie in unserer Datenschutzerklärung