.NET Samples

FoxIDs .NET samples viser:

  • Bruker login og logout med OpenID Connect 1.0 og SAML 2.0
  • Client credential grant med secret og sertifikat
  • API kall sikret med OAuth 2.0
  • Token exchange fra access token til access token og SAML 2.0 til access token

Finn sample koden i FoxIDs.Samples repository.

Samples er forhåndskonfigurert i FoxIDs online test tenant test-corp og kan umiddelbart kjøres lokalt i Visual Studio på de forhåndskonfigurerte localhost portene.

Ta en titt på FoxIDs test konfigurasjonen i FoxIDs Control: https://control.foxids.com/test-corp
Få read access med brukeren reader@foxids.com og passord gEh#V6kSw

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

Sample indeks

Du kan bruke JWT tool og SAML 2.0 tool for å dekode tokens og opprette self-signed sertifikater med certificate tool.

Sample applikasjoner

Samples viser forskjellige applikasjoner som stoler på FoxIDs som en IdP.

AspNetCoreOidcAuthCodeAllUpPartiesSample

Sample (code link) applikasjon som viser bruker login og logout med OpenID Connect (OIDC) ved bruk av authorization code flow som service provider og ber om login via alle autentiseringsmetoder.

Du kan teste denne sample online.

Denne sample er et godt startpunkt!

De mulige autentiseringsmetodene er konfigurert i applikasjonsregistreringen som tillatte autentiseringsmetoder. Det kan konfigureres én til mange tillatte autentiseringsmetoder. Alle de konfigurerte autentiseringsmetodene velges med en stjerne i stedet for et autentiseringsmetode navn.

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

API kall:

  • Viser hvordan man kaller API1 sample sikret med et access token.
  • Viser hvordan man kaller API1 sample sikret med et access token som igjen kaller API2 sample ved bruk av token exchange inne i API1.
  • Viser hvordan man oppnår et access token ved token exchange, klienten bruker client authentication method client_secret_post. Og deretter kaller API2 sample sikret med det oppnådde access token.

Lokal utviklingsdomene og port: https://localhost:44349

AspNetCoreOidcAuthorizationCodeSample

Sample (code link) applikasjon som viser bruker login og logout med OpenID Connect (OIDC) ved bruk av authorization code flow som service provider.

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

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

Lokal utviklingsdomene og port: https://localhost:44340

AspNetCoreOidcImplicitSample

Sample (code link) applikasjon som viser bruker login og logout med OpenID Connect (OIDC) ved bruk av implicit flow som service provider.

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

Lokal utviklingsdomene og port: https://localhost:44341

AspNetCoreSamlSample

Sample (code link) applikasjon som viser bruker login og logout med SAML 2.0 som relying party.

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

Viser hvordan man oppnår et access token fra et SAML 2.0 bearer token med token exchange, klienten bruker client authentication method private_key_jwt (sertifikat). Og deretter kaller API1 sample sikret med det oppnådde access token.

Lokal utviklingsdomene og port: https://localhost:44343

NetCoreClientCredentialGrantConsoleSample

Sample (code link) console applikasjon (backend) som viser klientautentisering med OAuth 2.0 Client Credentials Grant ved bruk av et secret (client authentication method client_secret_post).

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

NetCoreClientCredentialGrantAssertionConsoleSample

Sample (code link) console applikasjon (backend) som viser klientautentisering med OAuth 2.0 Client Credentials Grant ved bruk av et sertifikat (client authentication method private_key_jwt).

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

NetFramework4.7ClientCredentialGrantAssertionConsoleSample

Sample (code link) .NET Framework 4.7 console applikasjon (backend) som viser klientautentisering med OAuth 2.0 Client Credentials Grant ved bruk av et sertifikat (client authentication method private_key_jwt).

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

BlazorBFFAspNetCoreOidcSample

Sample (code link client og server) applikasjon som viser bruker login og logout med OpenID Connect (OIDC) ved bruk av authorization code flow i en Blazor BFF (Backend For Frontend) applikasjon med en ASP.NET Core backend.
I en BFF arkitektur håndterer backend OIDC, tokens deles aldri med Blazor klienten. I stedet sikrer en sesjon basert på en identity cookie applikasjonen etter vellykket brukerautentisering.

Sample viser hvordan man kaller API1 sample fra både Blazor klienten via en backend API proxy som legger access token til det utgående API kallet.

Lokal utviklingsdomene og port: https://localhost:44348

BlazorOidcPkceSample

Blazor sample (code link) applikasjon som viser bruker login og logout med OpenID Connect (OIDC) ved bruk av authorization code flow og PKCE som service provider.

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

Lokal utviklingsdomene og port: https://localhost:44345

BlazorServerOidcSample

Blazor server sample (code link) applikasjon som viser bruker login og logout med OpenID Connect (OIDC) ved bruk av authorization code flow som service provider.

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

Lokal utviklingsdomene og port: https://localhost:44347

AspNetCoreApi1Sample

Sample (code link) API som viser hvordan man sikrer et API med et access token og hvordan man begrenser tilgang med scopes.

Du kan kalle denne sample online.

API'et kaller API2 sample sikret med et access token oppnådd ved token exchange hvor klienten bruker client authentication method private_key_jwt (sertifikat).

Lokal utviklingsdomene og port: https://localhost:44344

AspNetCoreApi2Sample

Sample (code link) API som viser hvordan man sikrer et API med et access token og hvordan man begrenser tilgang med et scope.

Du kan kalle denne sample online.

Lokal utviklingsdomene og port: https://localhost:44351

AspNetCoreApiOAuthTwoIdPsSample

Sample (code link) API som viser hvordan man oppretter et API som kan akseptere access tokens fra to forskjellige IdP'er. Hver IdP - API relasjon kan konfigureres med individuelle resource IDs og scopes.

Dette scenariet oppstår oftest i en overgangsperiode fra en IdP til en annen IdP. Med API'er med dual IdP support kan klienter flyttes fra en IdP til en annen IdP uavhengig av API'ene.

Sample API'et kan kalles ved å endre comment out kode i NetCoreClientCredentialGrantConsoleSample eller NetCoreClientCredentialGrantAssertionConsoleSample samples.

Lokal utviklingsdomene og port: https://localhost:44350

Autentiseringsmetode samples

Autentiseringsmetode samples viser ulike IdP'er koblet til FoxIDs, der FoxIDs stoler på IdP samples.

AspNetCoreSamlIdPSample

Sample (code link) applikasjon som implementerer en SAML 2.0 identity provider (IdP) koblet som en SAML 2.0 autentiseringsmetode i FoxIDs. Sample viser også hvordan man gjør IdP-Initiated login.

Du kan teste denne sample online.

Lokal utviklingsdomene og port: https://localhost:44342

IdentityServerOidcOpSample

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

Lokal utviklingsdomene og port: https://localhost:44346

ExternalLoginApiSample

Sample (code link) applikasjon som implementerer et eksternt login API som er koblet som en external login autentiseringsmetode i FoxIDs.

Lokal utviklingsdomene og port: https://localhost:44352

ExternalClaimsApiSample

Sample (code link) applikasjon som implementerer et eksternt claims API som kan konfigureres og kalles fra en claims transform. Det eksterne claims API kan deretter legge til eksterne claims til de utstedte claims.

Lokal utviklingsdomene og port: https://localhost:44353

ExternalExtendedUiApiSample

Sample (code link) applikasjon som implementerer et eksternt extended UI API som kan konfigureres og kalles for å validere dynamiske UI elementer og valgfritt returnere ekstra claims.

Lokal utviklingsdomene og port: https://localhost:44354

ExternalPasswordApiSample

Sample (code link) applikasjon som implementerer et eksternt passord API som er koblet som et eksternt passord API i et FoxIDs miljø.

Lokal utviklingsdomene og port: https://localhost:44355

FoxIDsControlApiSample

Sample (code link) console applikasjon som viser hvordan man kaller 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 finnes i sample solution: tools/SampleSeedTool.

Konfigurer sample seed tool

Sample seed tool konfigureres i appsettings.json filen.

Legg til FoxIDs og FoxIDs Control API endpoints i sample seed tool konfigurasjonen. De kan legges til ved å oppdatere instansnavnene https://foxids.com og https://control.foxids.com/api. Hvis du kjører FoxIDs lokalt i Visual Studio er endpoints konfigurert 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"
}

Tilgang til å opprette sample konfigurasjonen i et miljø gis i master miljøet. Sample konfigurasjonen bør ikke legges til master miljøet.

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

  1. Velg master miljøet og opprett en OAuth 2.0 applikasjonsregistrering, klikk OAuth 2.0 - Client Credentials Grant.
  2. Sett client id til sample_seed.
  3. Husk client secret.
  4. I resource og scopes seksjonen. Gi sample seed klienten tilgang til FoxIDs Control API resource foxids_control_api med scope foxids:tenant.
  5. Klikk show advanced.
  6. I issue claims seksjonen. Legg til en claim med navnet role og verdien foxids:tenant.admin. Dette gir klienten administratorrollen.

Sample seed tool klienten gis dermed tilgang til å oppdatere tenant.

FoxIDs Control Client - sample_seed client

Opprett et nytt FoxIDs miljø for sample applikasjonene eller velg et eksisterende miljø.

Endre tenant, miljø og sample seed tool client secret i sample seed tool konfigurasjonen.

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

Endre tenant og miljø konfigurasjonen for alle samples.

Kjør sample seed tool

Kjør sample seed tool executable SampleSeedTool.exe eller kjør seed tool direkte fra Visual Studio.

  • Klikk 'c' for å opprette sample konfigurasjonen
  • Klikk 'd' for å slette sample konfigurasjonen

Sample seed tool vil opprette og slette konfigurasjoner for alle samples.

Sample applikasjonene krever en login autentiseringsmetode med navnet login (håndterer bruker login). Den opprettes av sample seed tool hvis den ikke finnes. Login autentiseringsmetoden slettes ikke hvis sample konfigurasjonen slettes.

Ditt personvern

Vi bruker cookies for å gjøre opplevelsen av nettstedene våre bedre. Klikk på 'Godta alle cookies' for å samtykke til bruk av cookies. For å reservere deg mot ikke-nødvendige cookies, klikk på 'Kun nødvendige cookies'.

Besøk vår personvernerklæring for mer