Share via


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

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.

  1. 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"
    
  2. Haal de Client ID en Client Secret voor uw id-provider op.

  3. 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 de issuer-uri opgegeven naam bijvoorbeeld is https://example.com, wordt er een OpenID-providerconfiguratieaanvraag ingediend bij https://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.

  4. Haal de JWK URI id-provider op voor later gebruik. Meestal JWK 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.

  1. 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
    
  2. 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
    
  3. Gebruik de volgende opdracht om een service-principal toe te wijzen aan de toepassingsregistratie:

    az ad sp create --id ${APPLICATION_ID}
    
  4. 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"
    
  5. Gebruik de volgende opdracht om de toepassing Client IDop te halen. Sla de uitvoer op die u later in deze quickstart wilt gebruiken.

    cat sso.json | jq -r '.appId'
    
  6. Gebruik de volgende opdracht om de toepassing Client Secretop te halen. Sla de uitvoer op die u later in deze quickstart wilt gebruiken.

    cat sso.json | jq -r '.password'
    
  7. 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"
    
  8. 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.

  1. Navigeer naar de projectmap.

  2. 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>
    
  3. 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>
    
  4. 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>
    
  5. 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>"
    
  6. 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:

  1. 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>
    
  2. 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"
    
  3. 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}"
    
  4. 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: