Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Kommentar
Planerna Basic, Standardoch Enterprise gick in i en pensionsperiod den 17 mars 2025. Mer information finns i meddelandet om azure Spring Apps-pensionering.
Den här artikeln gäller för: ❎ Basic/Standard ✅ Enterprise
Den här snabbstarten visar hur du konfigurerar enkel inloggning för program som körs på Azure Spring Apps Enterprise-planen.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En licens för Azure Spring Apps Enterprise-planen. Mer information finns i Enterprise-plan på Azure Marketplace.
- Azure CLI version 2.45.0 eller senare.
- Git.
- jq
-
Tillägget för Azure Spring Apps Enterprise-planen. Använd följande kommando för att ta bort tidigare versioner och installera det senaste Enterprise-plantillägget. Om du tidigare har installerat
spring-cloudtillägget avinstallerar du det för att undvika konfigurations- och versionsmatchningar.az extension add --upgrade --name spring az extension remove --name spring-cloud - Slutför stegen i Skapa och distribuera appar till Azure Spring Apps med hjälp av Enterprise-planen.
Förbereda autentiseringsuppgifter för enkel inloggning
För att konfigurera enkel inloggning för programmet måste du förbereda autentiseringsuppgifterna. I följande avsnitt beskrivs steg för att använda en befintlig leverantör eller etablera en programregistrering med Microsoft Entra-ID.
Använd en befintlig leverantör
Följ de här stegen för att konfigurera enkel inloggning med hjälp av en befintlig identitetsprovider. Om du etablerar en Microsoft Entra-appregistrering går du vidare till följande avsnitt: Skapa och konfigurera en programregistrering med Microsoft Entra-ID.
Konfigurera din befintliga identitetsprovider för att tillåta omdirigeringar tillbaka till Spring Cloud Gateway för VMware Tanzu och API-portalen för VMware Tanzu. Spring Cloud Gateway har en enda URI för att tillåta återinträde till gatewayen. API-portalen har två URI:er för att stödja användargränssnittet och det underliggande API:et. Följande kommandon hämtar dessa URI:er som du lägger till i konfigurationen för din provider för enkel inloggning.
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"Hämta
Client IDochClient Secretför din identitetsleverantör.Hämta
Issuer URIför din identitetsleverantör. Du måste konfigurera providern med en utfärdar-URI, vilket är den URI som den hävdar som utfärdaridentifierare. Om denissuer-uriangivna ärhttps://example.comgörs till exempel en konfigurationsbegäran för OpenID-providern tillhttps://example.com/.well-known/openid-configuration. Resultatet förväntas bli ett konfigurationssvar för OpenID-providern.Kommentar
Du kan bara använda auktoriseringsservrar som stöder OpenID Connect Discovery-protokollet.
Hämta
JWK URIför din identitetsleverantör för senare användning. Vanligtvis harJWK URIformen${ISSUER_URI}/keyseller${ISSUER_URI}/<version>/keys. Identity Service-programmet använder de offentliga JSON-webbnycklarna (JWK) för att verifiera JSON-webbtoken (JWT) som utfärdats av din identitetsproviders auktoriseringsserver för enkel inloggning.
Skapa och konfigurera en programregistrering med Microsoft Entra-ID
Följ dessa steg för att registrera programmet med Microsoft Entra-ID. Om du använder en befintlig leverantörs autentiseringsuppgifter, hoppa fram till följande avsnitt, Distribuera Identity Service-applikationen.
Använd följande kommando för att skapa en programregistrering med Microsoft Entra-ID och spara utdata:
az ad app create --display-name <app-registration-name> > ad.jsonAnvänd följande kommando för att hämta program-ID:t och samla in klienthemligheten:
export APPLICATION_ID=$(cat ad.json | jq -r '.appId') az ad app credential reset --id ${APPLICATION_ID} --append > sso.jsonAnvänd följande kommando för att tilldela ett tjänsthuvudkonto till programregistreringen:
az ad sp create --id ${APPLICATION_ID}Använd följande kommandon för att hämta URL:er för Spring Cloud Gateway och API-portalen och lägga till nödvändiga svars-URL:er i Active Directory App Registration.
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"Använd följande kommando för att hämta programmets
Client ID. Spara utdata som ska användas senare i den här snabbstarten.cat sso.json | jq -r '.appId'Använd följande kommando för att hämta programmets
Client Secret. Spara utdata som ska användas senare i den här snabbstarten.cat sso.json | jq -r '.password'Använd följande kommando för att hämta
Issuer URI. Spara utdata som ska användas senare i den här snabbstarten.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/v2.0"JWK URIHämta från utdata från följande kommando. Identity Service-programmet använder de offentliga JSON-webbnycklarna (JWK) för att verifiera JSON-webbtoken (JWT) som utfärdats av Active Directory.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys"
Distribuera Identity Service-programmet
För att slutföra Single Sign-On-upplevelsen använder du följande steg för att distribuera Identity Service-applikationen. Identity Service-programmet tillhandahåller en enda väg som hjälper dig att identifiera användaren.
Gå till projektmappen.
Använd följande kommando för att skapa
identity-serviceprogrammet:az spring app create \ --resource-group <resource-group-name> \ --name identity-service \ --service <Azure-Spring-Apps-service-instance-name>Använd följande kommando för att aktivera externaliserad konfiguration för identitetstjänsten genom att binda till Application Configuration Service:
az spring application-configuration-service bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>Använd följande kommando för att aktivera tjänstidentifiering och registrering för identitetstjänsten genom att binda till Service Registry:
az spring service-registry bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>Använd följande kommando för att distribuera identitetstjänsten:
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>"Använd följande kommando för att dirigera begäranden till identitetstjänsten:
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
Konfigurera enkel inloggning för Spring Cloud Gateway
Du kan konfigurera Spring Cloud Gateway för att autentisera begäranden med enkel inloggning. Följ dessa steg för att konfigurera Spring Cloud Gateway att använda enkel inloggning:
Använd följande kommandon för att konfigurera Spring Cloud Gateway att använda enkel inloggning:
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>Instruera kundvagnstjänstprogrammet att använda Spring Cloud Gateway för autentisering. Använd följande kommando för att tillhandahålla nödvändiga miljövariabler:
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"Instruera beställningstjänstprogrammet att använda Spring Cloud Gateway för autentisering. Använd följande kommando för att tillhandahålla nödvändiga miljövariabler:
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}"Använd följande kommando för att hämta URL:en för Spring Cloud Gateway:
echo "https://${GATEWAY_URL}"Du kan öppna utdata-URL:en i en webbläsare för att utforska det uppdaterade programmet. Funktionen Logga in fungerar nu, så att du kan lägga till objekt i kundvagnen och göra beställningar. När du har loggat in visar knappen kundinformation det inloggade användarnamnet.
Konfigurera enkel inloggning för API-portalen
Du kan konfigurera API-portalen för VMware Tanzu att använda enkel inloggning för att kräva autentisering innan du utforskar API:er. Använd följande kommandon för att konfigurera enkel inloggning för API-portalen:
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>
Använd följande kommandon för att hämta URL:en för API-portalen:
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}"
Du kan öppna utdata-URL:en i en webbläsare för att utforska program-API:erna. Du uppmanas att logga in innan du utforskar API:er.
Rensa resurser
Om du planerar att fortsätta arbeta med efterföljande snabbstarter och självstudier kanske du vill lämna dessa resurser på plats. Ta bort resursgruppen när den inte längre behövs, vilket tar bort resurserna i resursgruppen. Om du vill ta bort resursgruppen med hjälp av Azure CLI använder du följande kommandon:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Nästa steg
Fortsätt till någon av följande valfria snabbstarter: