.NET Samples

FoxIDs .NET samples viser:

  • Bruger login og logout med OpenID Connect 1.0 og SAML 2.0
  • Client credential grant med secret og certifikat
  • API kald sikret med OAuth 2.0
  • Token exchange fra access token til access token og SAML 2.0 til access token

Find sample koden i FoxIDs.Samples repository.

Samples er forudkonfigureret i FoxIDs online test tenant test-corp og kan straks køres lokalt i Visual Studio på de forudkonfigurerede localhost porte.

Tag et kig på FoxIDs test konfigurationen i FoxIDs Control: https://control.foxids.com/test-corp
Få read access med brugeren reader@foxids.com og adgangskode gEh#V6kSw

Du kan alternativt konfigurere samples i dit eget FoxIDs miljø.

Sample indeks

Du kan bruge JWT tool og SAML 2.0 tool til at dekode tokens og oprette self-signed certifikater med certificate tool.

Sample applikationer

Samples viser forskellige applikationer som stoler på FoxIDs som en IdP.

AspNetCoreOidcAuthCodeAllUpPartiesSample

Sample (code link) applikation der viser bruger login og logout med OpenID Connect (OIDC) ved brug af authorization code flow som en service provider og anmoder om login via alle autentificeringsmetoder.

Du kan teste denne sample online.

Denne sample er et godt startpunkt!

De mulige autentificeringsmetoder konfigureres i applikationsregistreringen som tilladte autentificeringsmetoder. Der kan konfigureres en til mange tilladte autentificeringsmetoder. Alle de konfigurerede autentificeringsmetoder vælges med en stjerne i stedet for et autentificeringsmetode navn.

Understøtter login/logout med FoxIDs login side, Identity Server, SAML 2.0 IdP sample og alle andre autentificeringsmetoder.

API kald:

  • Viser hvordan man kalder API1 sample sikret med et access token.
  • Viser hvordan man kalder API1 sample sikret med et access token som igen kalder API2 sample ved brug af token exchange inde i API1.
  • Viser hvordan man opnår et access token ved token exchange, klienten bruger client authentication method client_secret_post. Og derefter kalder API2 sample sikret med det opnåede access token.

Lokalt udviklingsdomæne og port: https://localhost:44349

AspNetCoreOidcAuthorizationCodeSample

Sample (code link) applikation der viser bruger login og logout med OpenID Connect (OIDC) ved brug af authorization code flow som en service provider.

Understøtter login/logout med FoxIDs login side, Identity Server, SAML 2.0 IdP sample og hvis konfigureret AD FS med SAML 2.0.

Viser hvordan man kalder API1 sample sikret med et access token.

Lokalt udviklingsdomæne og port: https://localhost:44340

AspNetCoreOidcImplicitSample

Sample (code link) applikation der viser bruger login og logout med OpenID Connect (OIDC) ved brug af implicit flow som en service provider.

Understøtter login/logout med FoxIDs login side, Identity Server, SAML 2.0 IdP sample og hvis konfigureret AD FS med SAML 2.0.

Lokalt udviklingsdomæne og port: https://localhost:44341

AspNetCoreSamlSample

Sample (code link) applikation der viser bruger login og logout med SAML 2.0 som en relying party.

Understøtter login/logout med FoxIDs login side, Identity Server, SAML 2.0 IdP sample og hvis konfigureret AD FS med SAML 2.0.

Viser hvordan man opnår et access token fra et SAML 2.0 bearer token ved token exchange, klienten bruger client authentication method private_key_jwt (certifikat). Og derefter kalder API1 sample sikret med det opnåede access token.

Lokalt udviklingsdomæne og port: https://localhost:44343

NetCoreClientCredentialGrantConsoleSample

Sample (code link) console applikation (backend) der viser klientautentificering med OAuth 2.0 Client Credentials Grant ved brug af et secret (client authentication method client_secret_post).

Viser hvordan man kalder API1 sample og API med to IdP'er sample sikret med et access token.

NetCoreClientCredentialGrantAssertionConsoleSample

Sample (code link) console applikation (backend) der viser klientautentificering med OAuth 2.0 Client Credentials Grant ved brug af et certifikat (client authentication method private_key_jwt).

Viser hvordan man kalder API1 sample og API med to IdP'er sample sikret med et access token.

NetFramework4.7ClientCredentialGrantAssertionConsoleSample

Sample (code link) .NET Framework 4.7 console applikation (backend) der viser klientautentificering med OAuth 2.0 Client Credentials Grant ved brug af et certifikat (client authentication method private_key_jwt).

Viser hvordan man kalder API1 sample og API med to IdP'er sample sikret med et access token.

BlazorBFFAspNetCoreOidcSample

Sample (code link client og server) applikation der viser bruger login og logout med OpenID Connect (OIDC) ved brug af authorization code flow i en Blazor BFF (Backend For Frontend) applikation med en ASP.NET Core backend.
I en BFF arkitektur håndterer backend OIDC, tokens deles aldrig med Blazor klienten. I stedet sikrer en session baseret på en identity cookie applikationen efter vellykket brugerautentificering.

Sample viser hvordan man kalder API1 sample fra både Blazor klienten gennem en backend API proxy som tilføjer access token til det udgående API kald.

Lokalt udviklingsdomæne og port: https://localhost:44348

BlazorOidcPkceSample

Blazor sample (code link) applikation der viser bruger login og logout med OpenID Connect (OIDC) ved brug af authorization code flow og PKCE som en service provider.

Viser hvordan man kalder API1 sample sikret med et access token.

Lokalt udviklingsdomæne og port: https://localhost:44345

BlazorServerOidcSample

Blazor server sample (code link) applikation der viser bruger login og logout med OpenID Connect (OIDC) ved brug af authorization code flow som en service provider.

Viser hvordan man kalder API1 sample sikret med et access token.

Lokalt udviklingsdomæne og port: https://localhost:44347

AspNetCoreApi1Sample

Sample (code link) API der viser hvordan man sikrer et API med et access token og hvordan man begrænser adgang med scopes.

Du kan kalde denne sample online.

API'et kalder API2 sample sikret med et access token opnået ved token exchange hvor klienten bruger client authentication method private_key_jwt (certifikat).

Lokalt udviklingsdomæne og port: https://localhost:44344

AspNetCoreApi2Sample

Sample (code link) API der viser hvordan man sikrer et API med et access token og hvordan man begrænser adgang med et scope.

Du kan kalde denne sample online.

Lokalt udviklingsdomæne og port: https://localhost:44351

AspNetCoreApiOAuthTwoIdPsSample

Sample (code link) API der viser hvordan man opretter et API som kan acceptere access tokens fra to forskellige IdP'er. Hver IdP - API relation kan konfigureres med individuelle resource IDs og scopes.

Dette scenarie opstår oftest i en overgangsperiode fra en IdP til en anden IdP. Ved at have API'er med dual IdP support kan klienter flyttes fra en IdP til en anden IdP uafhængigt af API'erne.

Sample API'et kan kaldes ved at ændre comment out kode i NetCoreClientCredentialGrantConsoleSample eller NetCoreClientCredentialGrantAssertionConsoleSample samples.

Lokalt udviklingsdomæne og port: https://localhost:44350

Autentificeringsmetode samples

Autentificeringsmetode samples viser forskellige IdP'er forbundet til FoxIDs, hvor FoxIDs stoler på IdP samples.

AspNetCoreSamlIdPSample

Sample (code link) applikation der implementerer en SAML 2.0 identity provider (IdP) forbundet som en SAML 2.0 autentificeringsmetode i FoxIDs. Sample viser også hvordan man laver IdP-Initiated login.

Du kan teste denne sample online.

Lokalt udviklingsdomæne og port: https://localhost:44342

IdentityServerOidcOpSample

Identity Server (code link) implementerer OpenID Connect (OIDC) og eksponerer en OpenID Provider (OP) / identity provider (IdP) forbundet som en OpenID Connect autentificeringsmetode i FoxIDs.

Lokalt udviklingsdomæne og port: https://localhost:44346

ExternalLoginApiSample

Sample (code link) applikation der implementerer et eksternt login API som er forbundet som en external login autentificeringsmetode i FoxIDs.

Lokalt udviklingsdomæne og port: https://localhost:44352

ExternalClaimsApiSample

Sample (code link) applikation der implementerer et eksternt claims API som kan konfigureres og kaldes fra en claims transform. Det eksterne claims API kan derefter tilføje eksterne claims til de udstedte claims.

Lokalt udviklingsdomæne og port: https://localhost:44353

ExternalExtendedUiApiSample

Sample (code link) applikation der implementerer et eksternt extended UI API som kan konfigureres og kaldes for at validere dynamiske UI elementer og valgfrit returnere yderligere claims.

Lokalt udviklingsdomæne og port: https://localhost:44354

ExternalPasswordApiSample

Sample (code link) applikation der implementerer et eksternt adgangskode API som er forbundet som et eksternt adgangskode API i et FoxIDs miljø.

Lokalt udviklingsdomæne og port: https://localhost:44355

FoxIDsControlApiSample

Sample (code link) console applikation der viser hvordan man kalder FoxIDs Control API.

Konfigurer samples i FoxIDs miljø

Samples kan konfigureres i et FoxIDs miljø med sample seed tool eller manuelt via FoxIDs Control Client.

Sample seed tool findes i sample solution: tools/SampleSeedTool.

Konfigurer sample seed tool

Sample seed tool konfigureres i appsettings.json filen.

Tilføj FoxIDs og FoxIDs Control API endpoints til sample seed tool konfigurationen. De kan tilføjes ved at opdatere instansnavnene https://foxids.com og https://control.foxids.com/api. Hvis du kører FoxIDs lokalt i Visual Studio er endpoints konfigureret til FoxIDs localhost https://localhost:44330/ og FoxIDs Control API localhost https://localhost:44331/.

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

Adgang til at oprette sample konfigurationen i et miljø gives i master miljøet. Sample konfigurationen bør ikke tilføjes til master miljøet.

Opret en sample seed tool OAuth 2.0 klient i FoxIDs Control Client:

  1. Vælg master miljøet og opret en OAuth 2.0 applikationsregistrering, klik OAuth 2.0 - Client Credentials Grant.
  2. Sæt client id til sample_seed.
  3. Husk client secret.
  4. I resource og scopes sektionen. Giv sample seed klienten adgang til FoxIDs Control API resource foxids_control_api med scope foxids:tenant.
  5. Klik show advanced.
  6. I issue claims sektionen. Tilføj en claim med navnet role og værdien foxids:tenant.admin. Dette giver klienten administrator rollen.

Sample seed tool klienten får dermed adgang til at opdatere tenant'en.

FoxIDs Control Client - sample_seed client

Opret et nyt FoxIDs miljø for sample applikationerne eller vælg et eksisterende miljø.

Ændr tenant, miljø og sample seed tool client secret i sample seed tool konfigurationen.

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

Ændr tenant og miljø konfigurationen for alle samples.

Kør sample seed tool

Kør sample seed tool executable SampleSeedTool.exe eller kør seed tool direkte fra Visual Studio.

  • Klik 'c' for at oprette sample konfiguration
  • Klik 'd' for at slette sample konfiguration

Sample seed tool opretter og sletter konfigurationer for alle samples.

Sample applikationerne kræver en login autentificeringsmetode med navnet login (håndterer bruger login). Den oprettes af sample seed tool hvis den ikke findes. Login autentificeringsmetoden slettes ikke hvis sample konfigurationen slettes.

Dit privatliv

Vi bruger cookies til at gøre din oplevelse på vores websites bedre. Klik på 'Acceptér alle cookies' for at acceptere brugen af cookies. For at fravælge ikke-nødvendige cookies, klik på 'Kun nødvendige cookies'.

Besøg vores privatlivspolitik for mere