Quickstart: Eenmalige aanmelding configureren voor toepassingen met behulp van het Azure Spring Apps Enterprise-abonnement
Notitie
Azure Spring Apps is de nieuwe naam voor de Azure Spring Cloud-service. Hoewel de service een nieuwe naam heeft, ziet u de oude naam op sommige plaatsen terwijl we werken aan het bijwerken van assets, zoals schermopnamen, video's en diagrammen.
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 OpenID Verbinding maken 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: