Quickstart: Eenmalige aanmelding configureren voor toepassingen met behulp van het Azure Spring Apps Enterprise-abonnement
Notitie
De Basic-, Standard- en Enterprise-abonnementen worden afgeschaft vanaf medio maart 2025, met een pensioenperiode van 3 jaar. We raden u aan om over te stappen naar Azure Container Apps. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
Het standaardverbruik en het speciale abonnement worden vanaf 30 september 2024 afgeschaft, met een volledige afsluiting na zes maanden. We raden u aan om over te stappen naar Azure Container Apps. Zie Azure Spring Apps Standard-verbruik en toegewezen abonnement migreren naar Azure Container Apps voor meer informatie.
Dit artikel is van toepassing op: ❎ Basic/Standard ✅ Enterprise
In deze quickstart ziet u hoe u eenmalige aanmelding configureert voor toepassingen die worden uitgevoerd in het Azure Spring Apps Enterprise-abonnement.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een licentie voor het Azure Spring Apps Enterprise-abonnement. Zie Enterprise-abonnement in Azure Marketplace voor meer informatie.
- De Azure CLI versie 2.45.0 of hoger.
- Git.
- jq
- De Azure Spring Apps Enterprise-abonnementsextensie. Gebruik de volgende opdracht om eerdere versies te verwijderen en de nieuwste Enterprise-abonnementsextensie te installeren. Als u de extensie eerder hebt geïnstalleerd, verwijdert u deze
spring-cloud
om te voorkomen dat de configuratie en versie niet overeenkomen.az extension add --upgrade --name spring az extension remove --name spring-cloud
- Voer de stappen in Het bouwen en implementeren van apps in Azure Spring Apps uit met behulp van het Enterprise-abonnement.
Referenties voor eenmalige aanmelding voorbereiden
Als u eenmalige aanmelding voor de toepassing wilt configureren, moet u referenties voorbereiden. In de volgende secties worden de stappen beschreven voor het gebruik van een bestaande provider of het inrichten van een toepassingsregistratie met Microsoft Entra-id.
Een bestaande provider gebruiken
Volg deze stappen om eenmalige aanmelding te configureren met behulp van een bestaande id-provider. Als u een Microsoft Entra-app-registratie inricht, gaat u verder met de volgende sectie, een toepassingsregistratie maken en configureren met Microsoft Entra-id.
Configureer uw bestaande id-provider om omleidingen naar Spring Cloud Gateway voor VMware Tanzu en API-portal voor VMware Tanzu toe te staan. Spring Cloud Gateway heeft één URI om opnieuw toegang tot de gateway toe te staan. API-portal heeft twee URI's voor het ondersteunen van de gebruikersinterface en onderliggende API. Met de volgende opdrachten worden deze URI's opgehaald die u toevoegt aan de configuratie van uw provider voor eenmalige aanmelding.
export GATEWAY_URL=$(az spring gateway show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') export PORTAL_URL=$(az spring api-portal show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') echo "https://${GATEWAY_URL}/login/oauth2/code/sso" echo "https://${PORTAL_URL}/oauth2-redirect.html" echo "https://${PORTAL_URL}/login/oauth2/code/sso"
Haal de
Client ID
enClient Secret
voor uw id-provider op.Haal de
Issuer URI
id-provider op. U moet de provider configureren met een verlener-URI. Dit is de URI die als verlener-id wordt aangegeven. Als deissuer-uri
opgegeven naam bijvoorbeeld ishttps://example.com
, wordt er een OpenID-providerconfiguratieaanvraag ingediend bijhttps://example.com/.well-known/openid-configuration
. Het resultaat is naar verwachting een OpenID Provider Configuration Response.Notitie
U kunt alleen autorisatieservers gebruiken die ondersteuning bieden voor het OpenID Connect Discovery-protocol.
Haal de
JWK URI
id-provider op voor later gebruik. MeestalJWK URI
heeft het formulier${ISSUER_URI}/keys
of${ISSUER_URI}/<version>/keys
. De Identity Service-toepassing gebruikt de openbare JSON-websleutels (JWK) om JSON-webtokens (JWT) te verifiëren die zijn uitgegeven door de autorisatieserver van uw id-provider voor eenmalige aanmelding.
Een toepassingsregistratie maken en configureren met Microsoft Entra-id
Volg deze stappen om de toepassing te registreren bij Microsoft Entra ID. Als u de referenties van een bestaande provider gebruikt, gaat u verder met de volgende sectie, implementeert u de Identity Service-toepassing.
Gebruik de volgende opdracht om een toepassingsregistratie met Microsoft Entra ID te maken en de uitvoer op te slaan:
az ad app create --display-name <app-registration-name> > ad.json
Gebruik de volgende opdracht om de toepassings-id op te halen en het clientgeheim te verzamelen:
export APPLICATION_ID=$(cat ad.json | jq -r '.appId') az ad app credential reset --id ${APPLICATION_ID} --append > sso.json
Gebruik de volgende opdracht om een service-principal toe te wijzen aan de toepassingsregistratie:
az ad sp create --id ${APPLICATION_ID}
Gebruik de volgende opdrachten om de URL's voor Spring Cloud Gateway en API-portal op te halen en voeg de benodigde antwoord-URL's toe aan de registratie van de Active Directory-app.
export APPLICATION_ID=$(cat ad.json | jq -r '.appId') export GATEWAY_URL=$(az spring gateway show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') export PORTAL_URL=$(az spring api-portal show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') az ad app update \ --id ${APPLICATION_ID} \ --web-redirect-uris "https://${GATEWAY_URL}/login/oauth2/code/sso" "https://${PORTAL_URL}/oauth2-redirect.html" "https://${PORTAL_URL}/login/oauth2/code/sso"
Gebruik de volgende opdracht om de toepassing
Client ID
op te halen. Sla de uitvoer op die u later in deze quickstart wilt gebruiken.cat sso.json | jq -r '.appId'
Gebruik de volgende opdracht om de toepassing
Client Secret
op te halen. Sla de uitvoer op die u later in deze quickstart wilt gebruiken.cat sso.json | jq -r '.password'
Gebruik de volgende opdracht om de
Issuer URI
. Sla de uitvoer op die u later in deze quickstart wilt gebruiken.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/v2.0"
Haal de
JWK URI
uitvoer van de volgende opdracht op. De Identity Service-toepassing maakt gebruik van de openbare JSON-websleutels (JWK) om JSON-webtokens (JWT) te verifiëren die zijn uitgegeven door Active Directory.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys"
De Identity Service-toepassing implementeren
Als u de ervaring voor eenmalige aanmelding wilt voltooien, gebruikt u de volgende stappen om de Identity Service-toepassing te implementeren. De Identity Service-toepassing biedt één route om de gebruiker te identificeren.
Navigeer naar de projectmap.
Gebruik de volgende opdracht om de
identity-service
toepassing te maken:az spring app create \ --resource-group <resource-group-name> \ --name identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Gebruik de volgende opdracht om ge externaliseerde configuratie voor de identiteitsservice in te schakelen door binding te maken met application configuration-service:
az spring application-configuration-service bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Gebruik de volgende opdracht om servicedetectie en -registratie in te schakelen voor de identiteitsservice door een binding met serviceregister in te schakelen:
az spring service-registry bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Gebruik de volgende opdracht om de identiteitsservice te implementeren:
az spring app deploy \ --resource-group <resource-group-name> \ --name identity-service \ --service <Azure-Spring-Apps-service-instance-name> \ --config-file-pattern identity/default \ --source-path apps/acme-identity \ --build-env BP_JVM_VERSION=17 \ --env "JWK_URI=<jwk-uri>"
Gebruik de volgende opdracht om aanvragen naar de identiteitsservice te routeren:
az spring gateway route-config create \ --resource-group <resource-group-name> \ --name identity-routes \ --service <Azure-Spring-Apps-service-instance-name> \ --app-name identity-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/identity-service.json
Eenmalige aanmelding configureren voor Spring Cloud Gateway
U kunt Spring Cloud Gateway configureren om aanvragen te verifiëren met behulp van eenmalige aanmelding. Voer de volgende stappen uit om Spring Cloud Gateway te configureren voor gebruik van eenmalige aanmelding:
Gebruik de volgende opdrachten om Spring Cloud Gateway te configureren voor gebruik van eenmalige aanmelding:
export GATEWAY_URL=$(az spring gateway show \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url') az spring gateway update \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> \ --api-description "Fitness Store API" \ --api-title "Fitness Store" \ --api-version "v1.0" \ --server-url "https://${GATEWAY_URL}" \ --allowed-origins "*" \ --client-id <client-id> \ --client-secret <client-secret> \ --scope "openid,profile" \ --issuer-uri <issuer-uri>
Instrueer de winkelwagenservicetoepassing om Spring Cloud Gateway te gebruiken voor verificatie. Gebruik de volgende opdracht om de benodigde omgevingsvariabelen op te geven:
az spring app update \ --resource-group <resource-group-name> \ --name cart-service \ --service <Azure-Spring-Apps-service-instance-name> \ --env "AUTH_URL=https://${GATEWAY_URL}" "CART_PORT=8080"
Geef de orderservicetoepassing de opdracht om Spring Cloud Gateway te gebruiken voor verificatie. Gebruik de volgende opdracht om de benodigde omgevingsvariabelen op te geven:
az spring app update \ --resource-group <resource-group-name> \ --name order-service \ --service <Azure-Spring-Apps-service-instance-name> \ --env "AcmeServiceSettings__AuthUrl=https://${GATEWAY_URL}"
Gebruik de volgende opdracht om de URL voor Spring Cloud Gateway op te halen:
echo "https://${GATEWAY_URL}"
U kunt de uitvoer-URL openen in een browser om de bijgewerkte toepassing te verkennen. De functie Aanmelden is nu operationeel, zodat u items aan de winkelwagen kunt toevoegen en orders kunt plaatsen. Nadat u zich hebt aangemeld, wordt op de knop Klantgegevens de aangemelde gebruikersnaam weergegeven.
Eenmalige aanmelding configureren voor API Portal
U kunt DE API-portal voor VMware Tanzu configureren om eenmalige aanmelding te gebruiken om verificatie te vereisen voordat u API's verkent. Gebruik de volgende opdrachten om eenmalige aanmelding te configureren voor api-portal:
export PORTAL_URL=$(az spring api-portal show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
az spring api-portal update \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--client-id <client-id> \
--client-secret <client-secret> \
--scope "openid,profile,email" \
--issuer-uri <issuer-uri>
Gebruik de volgende opdrachten om de URL voor de API-portal op te halen:
export PORTAL_URL=$(az spring api-portal show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
echo "https://${PORTAL_URL}"
U kunt de uitvoer-URL in een browser openen om de toepassings-API's te verkennen. U wordt omgeleid om u aan te melden voordat u API's verkent.
Resources opschonen
Als u van plan bent om verder te gaan met volgende snelstarts en zelfstudies, kunt u deze resources het beste intact laten. Als u de resourcegroep niet meer nodig hebt, verwijdert u deze. Hierdoor worden ook de resources in de resourcegroep verwijderd. Als u de resourcegroep wilt verwijderen met behulp van Azure CLI, gebruikt u de volgende opdrachten:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Volgende stappen
Ga door naar een van de volgende optionele quickstarts: