App Service'te kimlik doğrulama ve yetkilendirmeyi keşfetme
Azure Uygulaması Hizmeti yerleşik kimlik doğrulaması ve yetkilendirme desteği sağlar; böylece web uygulamanızda, RESTful API'nizde, mobil arka ucunuzda ve Azure İşlevleri kod yazmadan veya hiç kod yazmadan kullanıcılarla oturum açabilir ve verilere erişebilirsiniz.
Neden yerleşik kimlik doğrulamasını kullanmalısınız?
Kimlik doğrulaması ve yetkilendirme için App Service kullanmanız gerekmez. Birçok web çerçevesi güvenlik özellikleriyle birlikte gelir ve isterseniz bunları kullanabilirsiniz. App Service'in sağladığından daha fazla esnekliğe ihtiyacınız varsa kendi yardımcı programlarınızı da yazabilirsiniz.
App Service ve Azure İşlevleri için yerleşik kimlik doğrulama özelliği, federasyon kimlik sağlayıcılarıyla kullanıma hazır kimlik doğrulaması sağlayarak zaman ve çabadan tasarruf etmenizi sağlayabilir ve uygulamanızın geri kalanına odaklanmanızı sağlar.
- Azure Uygulaması Hizmeti, çeşitli kimlik doğrulama özelliklerini kendi başınıza uygulamadan web uygulamanıza veya API'nize tümleştirmenize olanak tanır.
- Doğrudan platformda yerleşiktir ve belirli bir dil, SDK, güvenlik uzmanlığı veya kod gerektirmez.
- Birden çok oturum açma sağlayıcısıyla tümleştirebilirsiniz. Örneğin, Microsoft Entra Id, Facebook, Google, Twitter.
Kimlik sağlayıcıları
App Service, üçüncü taraf kimlik sağlayıcısının kullanıcı kimliklerini ve kimlik doğrulama akışını sizin için yönettiği federasyon kimliğini kullanır. Aşağıdaki kimlik sağlayıcıları varsayılan olarak kullanılabilir:
Provider | Oturum açma uç noktası | Nasıl Yapılır kılavuzu |
---|---|---|
Microsoft kimlik platformu | /.auth/login/aad |
App Service Microsoft kimlik platformu oturum açma |
/.auth/login/facebook |
App Service Facebook oturumu açma | |
/.auth/login/google |
App Service Google oturum açma bilgileri | |
/.auth/login/twitter |
App Service Twitter oturumu açma | |
Herhangi bir OpenID Bağlan sağlayıcısı | /.auth/login/<providerName> |
App Service OpenID Bağlan oturum açma |
GitHub | /.auth/login/github |
App Service GitHub oturum açma |
Bu sağlayıcılardan biriyle kimlik doğrulama ve yetkilendirmeyi etkinleştirdiğinizde, oturum açma uç noktası kullanıcı kimlik doğrulaması ve sağlayıcıdan kimlik doğrulama belirteçlerinin doğrulanması için kullanılabilir. Kullanıcılarınıza bu oturum açma seçeneklerinden istediğiniz sayıda sağlayabilirsiniz.
Nasıl çalışır
Kimlik doğrulama ve yetkilendirme modülü, uygulama kodunuzla aynı korumalı alanda çalışır. Etkinleştirildiğinde, gelen her HTTP isteği uygulama kodunuz tarafından işlenmeden önce bu istekten geçer. Bu modül, uygulamanız için çeşitli işlemleri işler:
- Belirtilen kimlik sağlayıcılarıyla kullanıcıların ve istemcilerin kimliğini doğrular
- Yapılandırılmış kimlik sağlayıcıları tarafından verilen OAuth belirteçlerini doğrular, depolar ve yeniler
- Kimliği doğrulanmış oturumu yönetir
- KIMLIK bilgilerini HTTP isteği üst bilgilerine ekler
Modül, uygulama kodunuzdan ayrı olarak çalışır ve Azure Resource Manager ayarları kullanılarak veya bir yapılandırma dosyası kullanılarak yapılandırılabilir. SDK'lar, belirli programlama dilleri veya uygulama kodunuzda değişiklik yapılması gerekmez.
Dekont
Linux ve kapsayıcılarda kimlik doğrulama ve yetkilendirme modülü, uygulama kodunuzdan yalıtılmış ayrı bir kapsayıcıda çalışır. İşlem sırasında çalışmadığından, belirli dil çerçeveleriyle doğrudan tümleştirme mümkün değildir.
Kimlik doğrulama akışı
Kimlik doğrulama akışı tüm sağlayıcılar için aynıdır, ancak sağlayıcının SDK'sıyla oturum açmak isteyip istemediğinize bağlı olarak farklılık gösterir.
Sağlayıcı SDK'sı olmadan: Uygulama, App Service'te federasyon oturum açma temsilcilerini temsil eder. Bu durum genellikle sağlayıcının oturum açma sayfasını kullanıcıya sunabilen tarayıcı uygulamaları için geçerlidir. Sunucu kodu oturum açma işlemini yönetir, bu nedenle sunucu tarafından yönlendirilen akış veya sunucu akışı olarak da adlandırılır.
Sağlayıcı SDK'sı ile: Uygulama, kullanıcıları sağlayıcıda el ile oturum açar ve ardından doğrulama için kimlik doğrulama belirtecini App Service'e gönderir. Bu durum genellikle tarayıcısız uygulamalarda geçerlidir ve sağlayıcının oturum açma sayfasını kullanıcıya sunmaz. Uygulama kodu oturum açma işlemini yönetir, bu nedenle istemci tarafından yönlendirilen akış veya istemci akışı olarak da adlandırılır. Bu, REST API'leri, Azure İşlevleri, JavaScript tarayıcı istemcileri ve sağlayıcının SDK'sını kullanarak kullanıcıların oturum açmasını sağlayan yerel mobil uygulamalar için geçerlidir.
Aşağıdaki tabloda kimlik doğrulama akışının adımları gösterilmektedir.
Adım | Sağlayıcı SDK'sı olmadan | Sağlayıcı SDK'sı ile |
---|---|---|
Oturum açma kullanıcısı | İstemciyi öğesine /.auth/login/<provider> yönlendirir. |
İstemci kodu, kullanıcıyı doğrudan sağlayıcının SDK'sıyla imzalar ve bir kimlik doğrulama belirteci alır. Bilgi için sağlayıcının belgelerine bakın. |
Kimlik doğrulaması sonrası | Sağlayıcı istemcisini öğesine /.auth/login/<provider>/callback yönlendirir. |
İstemci kodu doğrulama için belirteci sağlayıcıdan adresine /.auth/login/<provider> postalar. |
Kimliği doğrulanmış oturum oluşturma | App Service yanıta kimliği doğrulanmış tanımlama bilgisi ekler. | App Service, istemci koduna kendi kimlik doğrulama belirtecini döndürür. |
Kimliği doğrulanmış içerik sunma | İstemci, sonraki isteklerde kimlik doğrulama tanımlama bilgisini içerir (tarayıcı tarafından otomatik olarak işlenir). | İstemci kodu, kimlik doğrulama belirtecini üst bilgide X-ZUMO-AUTH sunar (Mobile Apps istemci SDK'ları tarafından otomatik olarak işlenir). |
İstemci tarayıcıları için App Service kimliği doğrulanmamış tüm kullanıcıları otomatik olarak öğesine /.auth/login/<provider>
yönlendirebilir. Kullanıcılara, tercih ettikleri sağlayıcıyı kullanarak uygulamanızda oturum açmak için bir veya daha fazla /.auth/login/<provider>
bağlantı da sunabilirsiniz.
Yetkilendirme davranışı
Azure portalında, gelen bir isteğin kimliği doğrulanmamışsa App Service'i birçok davranışla yapılandırabilirsiniz.
Kimliği doğrulanmamış isteklere izin ver: Bu seçenek, uygulama kodunuz için kimliği doğrulanmamış trafiğin yetkilendirmesini engeller. Kimliği doğrulanmış istekler için App Service, HTTP üst bilgilerinde kimlik doğrulama bilgilerini de geçirir. Bu seçenek anonim istekleri işleme konusunda daha fazla esneklik sağlar. Kullanıcılarınıza birden çok oturum açma sağlayıcısı sunmanızı sağlar.
Kimlik doğrulaması gerektir: Bu seçenek, uygulamanıza yönelik kimliği doğrulanmamış trafiği reddeder. Bu reddetme, yapılandırılan kimlik sağlayıcılarından birine yeniden yönlendirme eylemi olabilir. Böyle durumlarda, seçtiğiniz sağlayıcı için bir tarayıcı istemcisine
/.auth/login/<provider>
yönlendirilir. Anonim istek yerel bir mobil uygulamadan geliyorsa, döndürülen yanıt birHTTP 401 Unauthorized
olur. Reddetmeyi tüm istekler için veyaHTTP 403 Forbidden
olacakHTTP 401 Unauthorized
şekilde de yapılandırabilirsiniz.Dikkat
Erişimi bu şekilde kısıtlamak, uygulamanıza yapılan tüm çağrılar için geçerlidir. Bu, birçok tek sayfalı uygulamada olduğu gibi genel kullanıma açık bir giriş sayfası isteyen uygulamalar için de istenmeyebilir.
Belirteç deposu
App Service, web uygulamalarınızın, API'lerinizin veya yerel mobil uygulamalarınızın kullanıcılarıyla ilişkili belirteçlerin deposu olan yerleşik bir belirteç deposu sağlar. Herhangi bir sağlayıcıyla kimlik doğrulamasını etkinleştirdiğinizde, bu belirteç deposu uygulamanız tarafından hemen kullanılabilir.
Günlüğe kaydetme ve izleme
Uygulama günlüğünü etkinleştirirseniz, kimlik doğrulaması ve yetkilendirme izlemeleri doğrudan günlük dosyalarınızda toplanır. Beklemediğiniz bir kimlik doğrulama hatası görürseniz, mevcut uygulama günlüklerinize bakarak tüm ayrıntıları kolayca bulabilirsiniz.