Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Not
Temel, Standardve Enterprise planları 17 Mart 2025'te kullanımdan kaldırma dönemine girdi. Daha fazla bilgi için bkz . Azure Spring Apps kullanımdan kaldırma duyurusu.
Standart tüketim ve ayrılmış planı 30 Eylül 2024'te emeklilik dönemine girdi ve Mart 2025 sonuna kadar tamamen kapatılacak. Daha fazla bilgi için Azure Spring Apps Standart tüketim ve ayrılmış planını Azure Container Apps'e Taşıma bölümüne bakın.
Bu makale şunlar için geçerlidir: ❎ Temel/Standart ✅ Kurumsal
Bu hızlı başlangıçta, Azure Spring Apps Enterprise planında çalışan uygulamalar için çoklu oturum açmayı yapılandırma adımları gösterilmektedir.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Azure Spring Apps Kurumsal planı için bir lisans. Daha fazla bilgi için Azure Marketplace'teki Kurumsal Plan bölümüne bakın.
- Azure CLI sürüm 2.45.0 veya üzeri.
- Git.
- jq
-
Azure Spring Apps Kurumsal plan uzantısı. Önceki sürümleri kaldırmak ve en son Kurumsal plan uzantısını yüklemek için aşağıdaki komutu kullanın. Uzantıyı
spring-cloud
daha önce yüklediyseniz yapılandırma ve sürüm uyuşmazlıklarını önlemek için uzantıyı kaldırın.az extension add --upgrade --name spring az extension remove --name spring-cloud
- Kurumsal planı kullanarak Uygulamaları derleme ve Azure Spring Apps'e dağıtma bölümünde yer alan adımları tamamlayın.
Çoklu oturum açma kimlik bilgilerini hazırlama
Uygulamada çoklu oturum açmayı yapılandırmak için kimlik bilgilerini hazırlamanız gerekir. Aşağıdaki bölümlerde, mevcut sağlayıcıyı kullanma veya Microsoft Entra Id ile uygulama kaydı sağlama adımları açıklanmaktadır.
Mevcut sağlayıcıyı kullanma
Mevcut kimlik sağlayıcısını kullanarak çoklu oturum açmayı yapılandırmak için bu adımları izleyin. Microsoft Entra Uygulama Kaydı oluşturuyorsanız, aşağıdaki Microsoft Entra ID ile uygulama kaydı oluşturma ve yapılandırma bölümüne atlayın.
Mevcut kimlik sağlayıcınızı VMware Tanzu için Spring Cloud Gateway'e ve VMware Tanzu için API portalına yeniden yönlendirmelere izin verecek şekilde yapılandırın. Spring Cloud Gateway,ağ geçidine yeniden girişe izin vermek için tek bir URI'ye sahiptir. API portalında kullanıcı arabirimini ve temel alınan API'yi desteklemeye yönelik iki URI vardır. Aşağıdaki komutlar, çoklu oturum açma sağlayıcınızın yapılandırmasına eklediğiniz bu URI'leri alır.
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"
Kimlik sağlayıcınız için
Client ID
veClient Secret
alın.Kimlik sağlayıcınız için
Issuer URI
öğesini edinin. Sağlayıcıyı, Kimlik Sağlayıcı olarak belirttiği URI olan veren URI'si ile yapılandırmanız gerekir. Örneğin, sağlananissuer-uri
ise,https://example.com
içinhttps://example.com/.well-known/openid-configuration
adresine bir OpenID Sağlayıcı Yapılandırma İsteği yapılır. Sonucun bir OpenID Sağlayıcısı Yapılandırma Yanıtı olması beklenir.Not
Yalnızca OpenID Connect Bulma protokollerini destekleyen yetkilendirme sunucularını kullanabilirsiniz.
Kimlik sağlayıcınız için daha sonra kullanmak üzere
JWK URI
'i edinin. genellikleJWK URI
veya${ISSUER_URI}/keys
biçimini${ISSUER_URI}/<version>/keys
alır. Kimlik Hizmeti uygulaması, çoklu oturum açma kimlik sağlayıcınızın yetkilendirme sunucusu tarafından verilen JSON Web Belirteçlerini (JWT) doğrulamak için genel JSON Web Anahtarlarını (JWK) kullanır.
Microsoft Entra Id ile uygulama kaydı oluşturma ve yapılandırma
Uygulamayı Microsoft Entra Id ile kaydetmek için aşağıdaki adımları izleyin. Mevcut bir sağlayıcının kimlik bilgilerini kullanıyorsanız, Aşağıdaki Kimlik Hizmeti uygulamasını dağıtma bölümüne atlayın.
Microsoft Entra Id ile bir uygulama kaydı oluşturmak ve çıkışı kaydetmek için aşağıdaki komutu kullanın:
az ad app create --display-name <app-registration-name> > ad.json
Uygulama kimliğini almak ve istemci sırrını elde etmek için aşağıdaki komutu kullanın.
export APPLICATION_ID=$(cat ad.json | jq -r '.appId') az ad app credential reset --id ${APPLICATION_ID} --append > sso.json
Uygulama kaydına hizmet sorumlusu atamak için aşağıdaki komutu kullanın:
az ad sp create --id ${APPLICATION_ID}
Spring Cloud Gateway ve API portalı url'lerini almak ve gerekli Yanıt URL'lerini Active Directory Uygulama Kaydı'na eklemek için aşağıdaki komutları kullanın.
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"
Uygulamanın
Client ID
öğesini almak için aşağıdaki komutu kullanın. Daha sonra bu hızlı başlangıçta kullanmak üzere çıktıyı kaydedin.cat sso.json | jq -r '.appId'
Uygulamanın
Client Secret
öğesini almak için aşağıdaki komutu kullanın. Bu hızlı başlangıçta daha sonra kullanmak üzere çıktıyı kaydedin.cat sso.json | jq -r '.password'
öğesini almak için
Issuer URI
aşağıdaki komutu kullanın. Bu hızlı başlangıçta ilerleyen bölümlerde kullanmak üzere çıktıyı kaydedin.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/v2.0"
Aşağıdaki komutun çıktısından
JWK URI
'yi alın. Kimlik Hizmeti uygulaması, Active Directory tarafından verilen JSON Web Belirteçlerini (JWT) doğrulamak için genel JSON Web Anahtarlarını (JWK) kullanır.export TENANT_ID=$(cat sso.json | jq -r '.tenant') echo "https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys"
Kimlik Hizmeti uygulamasını dağıtma
Çoklu oturum açma deneyimini tamamlamak için, Kimlik Hizmeti uygulamasını dağıtmak için aşağıdaki adımları kullanın. Kimlik Hizmeti uygulaması, kullanıcıyı tanımlamaya yardımcı olmak için tek bir yol sağlar.
Proje klasörüne gidin.
Uygulamayı oluşturmak
identity-service
için aşağıdaki komutu kullanın:az spring app create \ --resource-group <resource-group-name> \ --name identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Uygulama Yapılandırma Hizmeti'ne bağlanarak kimlik hizmeti için dışlanmış yapılandırmayı etkinleştirmek için aşağıdaki komutu kullanın:
az spring application-configuration-service bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Hizmet Kayıt Defteri'ne bağlanarak kimlik hizmeti için hizmet bulmayı ve kaydı etkinleştirmek için aşağıdaki komutu kullanın:
az spring service-registry bind \ --resource-group <resource-group-name> \ --app identity-service \ --service <Azure-Spring-Apps-service-instance-name>
Kimlik hizmetini dağıtmak için aşağıdaki komutu kullanın:
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>"
İstekleri kimlik hizmetine yönlendirmek için aşağıdaki komutu kullanın:
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
Spring Cloud Gateway için çoklu oturum açmayı yapılandırma
Spring Cloud Gateway'i çoklu oturum açma kullanarak isteklerin kimliğini doğrulayacak şekilde yapılandırabilirsiniz. Spring Cloud Gateway'i çoklu oturum açma kullanacak şekilde yapılandırmak için şu adımları izleyin:
Spring Cloud Gateway'i çoklu oturum açma kullanacak şekilde yapılandırmak için aşağıdaki komutları kullanın:
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>
Sepet hizmeti uygulamasına kimlik doğrulaması için Spring Cloud Gateway'i kullanmasını sağlayın. Gerekli ortam değişkenlerini sağlamak için aşağıdaki komutu kullanın:
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"
Sipariş hizmeti uygulamasına kimlik doğrulaması için Spring Cloud Gateway'i kullanmasını sağlayın. Gerekli ortam değişkenlerini sağlamak için aşağıdaki komutu kullanın:
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}"
Spring Cloud Gateway URL'sini almak için aşağıdaki komutu kullanın:
echo "https://${GATEWAY_URL}"
Güncelleştirilmiş uygulamayı keşfetmek için çıkış URL'sini tarayıcıda açabilirsiniz. Oturum Aç işlevi artık çalışır durumdadır ve sepete ürün eklemenizi ve sipariş vermenizi sağlar. Oturum açtıktan sonra müşteri bilgileri düğmesi oturum açmış kullanıcı adını görüntüler.
API portalı için çoklu oturum açmayı yapılandırma
API'leri keşfetmeden önce kimlik doğrulaması gerektirmek üzere VMware Tanzu için API portalını çoklu oturum açmayı kullanacak şekilde yapılandırabilirsiniz. API portalında çoklu oturum açmayı yapılandırmak için aşağıdaki komutları kullanın:
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>
API portalının URL'sini almak için aşağıdaki komutları kullanın:
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}"
Uygulama API'lerini keşfetmek için çıkış URL'sini tarayıcıda açabilirsiniz. API'leri keşfetmeden önce oturum açmaya yönlendirilirsiniz.
Kaynakları temizleme
Sonraki hızlı başlangıçlar ve öğreticilerle çalışmaya devam etmek istiyorsanız, bu kaynakları yerinde bırakmak isteyebilirsiniz. Artık gerekli olmadığında kaynak grubunu silin; bu da kaynak grubundaki kaynakları siler. Azure CLI kullanarak kaynak grubunu silmek için aşağıdaki komutları kullanın:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Sonraki adımlar
Aşağıdaki isteğe bağlı hızlı başlangıçlardan herhangi birine geçin: