.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 brukerenreader@foxids.comog passordgEh#V6kSw
Du kan alternativt konfigurere samples i ditt eget FoxIDs miljø.
Sample indeks
ASP.NET Core - OpenID Connect - applikasjonsregistrering
ASP.NET Core - SAML 2.0 - applikasjonsregistrering
Blazor - OpenID Connect - applikasjonsregistrering
Console app - OAuth 2.0 Client credential grant - applikasjonsregistrering
ASP.NET Core API - OAuth 2.0 - applikasjonsregistrering
ASP.NET Core - OpenID Connect - autentiseringsmetode
ASP.NET Core - SAML 2.0 - autentiseringsmetode
ASP.NET Core - External APIs
Console app - FoxIDs Control API
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.jsonfilen.
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
mastermiljøet. Sample konfigurasjonen bør ikke legges tilmastermiljøet.
Opprett en sample seed tool OAuth 2.0 klient i FoxIDs Control Client:
- Velg
mastermiljøet og opprett en OAuth 2.0 applikasjonsregistrering, klikkOAuth 2.0 - Client Credentials Grant. - Sett client id til
sample_seed. - Husk client secret.
- I resource og scopes seksjonen. Gi sample seed klienten tilgang til FoxIDs Control API resource
foxids_control_apimed scopefoxids:tenant. - Klikk show advanced.
- I issue claims seksjonen. Legg til en claim med navnet
roleog verdienfoxids:tenant.admin. Dette gir klienten administratorrollen.
Sample seed tool klienten gis dermed tilgang til å oppdatere tenant.

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.