Microsoft Entra Id ile uygulamaların ve kullanıcıların kimliğini doğrulama

Uygulamalar için birincil Microsoft Entra ID işlevi, kullanıcıların kimliklerini kullanıcı adı veya e-posta adresi gibi kişisel bir tanımlayıcıyla bildirdikleri işlem olan kimlik doğrulamasıdır. Kimliğin kanıtı sağlanır. Kanıt bir parola, çok faktörlü kimlik doğrulama yapıtı, biyometrik veya parolasız onay olabilir.

Bu makalede, uygulamaların kullanıcıların ve uygulamaların kimliğini doğrulamak için Microsoft Entra Id'yi nasıl kullandığı açıklanmaktadır. Bağımsız Yazılım Geliştiricilerinin (ISV) uygulamalarını Microsoft Entra ID için nasıl oluşturup iyileştirebileceğine ilişkin bir dizi makalenin üçüncüsüdür. Bu seride, şu konular hakkında daha fazla bilgi edinebilirsiniz:

İstek belirteçleri

Uygulamalar, Microsoft Entra Id'den belirteç isteğinde bulunur. Uygulamalar belirteci aldıktan sonra, kullanıcıyı tanımlamak için bu belirteçteki bilgileri kullanabilir. Microsoft Entra ID'yi oluşturduğunuzda, kullanıcılar kayıtlı tek bir Microsoft Entra ID hesabı (SSO) ile birçok uygulamanın kimliğini doğrulayabilir. SSO kimlik doğrulama yöntemi, kullanıcıların tek bir kimlik bilgisi kümesi kullanarak birden çok bağımsız yazılım sisteminde oturum açmasına olanak tanır.

Geliştiricilerin Microsoft Entra ID'den belirteç istemek için kullanabileceği protokoller, kullanıcıyı Microsoft Entra Id web sitesine bağlamak için bir tarayıcı kullanır. Bu web sitesi, kullanıcının Microsoft Entra Id ile özel bir konuşma olmasını sağlar. Uygulama, bu özel konuşmanın katılımcısı değildir. Uygulamalar, kullanıcının kimlik doğrulama işlemini başlattığı Microsoft Entra ID web sitesini başlatır. Kimlik doğrulama işlemi tamamlandıktan sonra, Microsoft Entra Id kullanıcıyı belirteçli veya belirteçsiz olarak uygulamaya yeniden yönlendirir.

Kullanıcıların kimlik doğrulama işlemini nadiren gerçekleştirmesi önemlidir. Kullanıcıların bunu ne kadar sık yapması gerekiyorsa, kimlik avı saldırıları gibi açıklardan yararlanmaya o kadar duyarlı hale gelirler.

Oturum açma istemlerini azaltma

SSO, oturum açma istemlerini azaltabilir veya ortadan kaldırabilir. Geliştiriciler, oturum açma istemlerinin azaltılmasında ve ortadan kaldırılmasında önemli bir rol oynar. Tüm uygulamalar, kullanıcıların kimlik doğrulama işlemini gerçekleştirdiği Microsoft Entra ID web sitesine erişen tarayıcıyı paylaşmalıdır. Uygulamanız tarayıcı tabanlı tek sayfalı bir uygulama (SPA) veya web uygulamasıysa geliştirici adımları gerekmez. Tarayıcıdaki tüm uygulamalar tarayıcıyı paylaşır. Masaüstü bilgisayarlarda ve mobil cihazlarda çalışan yerel uygulamalar için geliştiricilerin oturum açma istemlerini proaktif olarak azaltması veya ortadan kaldırması gerekir.

Oturum açma istemlerini azaltmanın veya ortadan kaldırmanın en iyi yöntemi, Microsoft Kimlik Doğrulama Kitaplıkları (MSAL) veya MSAL üzerine oluşturulmuş bir kitaplık ve aracı kimlik doğrulamaları kullanmaktır. Bu yöntem oturum açma istemlerini en aza indirir ve en sorunsuz deneyimi sağlar. MSAL üzerinde derleme mümkün değilse, uygulamanızın oturum açma istemlerini en aza indirmek için sistem tarayıcısını kullanması gerekir.

iOS veya Android'de çalışan uygulamalar için, mobil platform sağlayıcıları bu deneyimi daha sorunsuz hale getirmek için bazı işlevlere sahiptir. Google, Chrome Özel Sekmeleri ile Android uygulamaları için rehberlik içerir. Apple, iOS uygulamalarında Bir Web Hizmeti Aracılığıyla Kullanıcının Kimliğini Doğrulama yönergelerine sahiptir. Uygulamalar arasında veya sistem tarayıcısıyla paylaşıma izin vermeyebilecekleri için eklenmiş WebView'ları kullanmaktan kaçının.

Kullanıcı kimlik doğrulaması için iki protokol, Güvenlik Onaylama İşaretleme Dili (SAML) 2.0 ve OpenID Connect (OIDC)'dir. Microsoft Entra ID, her iki protokolü de kullanan uygulamaları tam olarak desteklediği için geliştiriciler kendi gereksinimlerine göre birini seçebilir.

Bu belgeler Microsoft Entra ID SAML desteğinin ayrıntılarını içerir.

Microsoft Entra ID SAML desteğinde bazı sınırlamalar vardır. Özellikle, şu protokol özelliklerini gerektiren uygulamaları geçiremezsiniz: WS-Trust ActAs kalıbı ve SAML yapıt çözümlemesi desteği.

Microsoft Entra ID, SAML protokolü üzerinde oluşturulan uygulamalar için SAML'yi tam olarak desteklese de, Microsoft kimlik platformu SAML ile uygulama geliştirmeye yönelik kitaplıklar veya diğer geliştirme araçları sağlamaz. Yeni uygulama geliştirme için kimlik doğrulaması için OpenID Connect (OIDC) kullanmanızı öneririz.

Microsoft Entra ID, OpenID Connect'i tam olarak destekler. Microsoft, OIDC uygulama geliştirmeyi kolaylaştırmak için MSAL, Microsoft Identity Web ve Azure SDK kitaplıkları sağlar. Microsoft kimlik platformundaki OpenID Connect (OIDC), Microsoft Entra ID'nin OIDC desteğini ayrıntılarıyla açıklar. MSAL, OIDC'i otomatik olarak destekler. MSAL, bir uygulamanın kaynağa erişmesi için yetkilendirme istekleri de dahil olmak üzere her belirteç isteğiyle her zaman bir OIDC Kimlik belirteci istemektedir.

Belirteç ömrü

MSAL, erişim belirtecinin süre sonu süresine göre kimlik belirteçlerini ve erişim belirteçlerini önbelleğe alır. Microsoft Entra ID, kimlik belirteçleri ve erişim belirteçlerinde yaşam süresini farklı şekilde ayarladığından, erişim belirteci hâlâ geçerli süresi içindeyken, süresi dolmuş bir MSAL önbelleğinden süresi dolmuş bir kimlik belirteci alabilirsiniz.

MSAL, kimlik belirteçlerini otomatik olarak yenilemez. MSAL, bir uygulama belirteci istediğinde erişim belirtecinin kullanım süresi sonunda veya yakınında erişim belirteçlerini yeniler. Bu noktada MSAL yeni bir kimlik belirteci istemektedir. OIDC'yi uygulamak için, kimlik belirtecindeki (süre sonu) talebini kullanarak, MSAL'deki ForceRefresh bayrağını kullanıp exp kimlik belirteci isteğini zamanlayın.

MSAL veya MSAL üzerine kurulmuş bir kütüphane kullanmak mümkün olmadığında, geçerli kullanıcının kimliğini doğrulamak için OpenID Connect standardını kullanabilirsiniz. Yerel uygulamalardaki bazı işlevler, yerel uygulamanın yönetilen bir cihazda çalıştığından emin olmak gibi MSAL kullanılmadan mümkün olmayabilir. MSAL'yi kullanmadığınız durumlarda, geliştirdiğiniz istemci uygulamalarında kimlik doğrulama ve yetkilendirme direncini artırma kılavuzunu gözden geçirin.

Microsoft Entra ID, Microsoft Graph yolu ile birlikte Microsoft Entra ID OIDC standartları desteğinin bir parçası olarak bir UserInfo uç noktası uygular. UserInfo uç noktasının döndürdüğü bilgileri eklemek veya özelleştirmek mümkün değildir. Kimlik belirtecindeki bilgiler uç noktayı çağırarak döndürülen bilgilerin üst kümesi olduğundan, uç noktayı çağırmak UserInfo yerine kimlik belirtecini UserInfo kullanmanızı öneririz.

Kullanıcıların kimliğini doğrulama

Uygulamalar, kullanıcıların kimliğini doğrulamak için Microsoft Entra ID kiracılarıyla etkileşim kurar. Bir kullanıcının kimliğini doğrulamak için uygulama, bir tarayıcıyı kiracının kimliği veya etki alanı olan https://login.microsoftonline.com/{tenant}/v2.0 adresine {tenant} yönlendirir. Ancak, ISV'lerin en geniş müşteri yelpazesini destekleyebilecek çok kiracılı uygulamalar oluşturmak için Microsoft Entra ID kullanmasını öneririz. Çok kiracılı bir uygulama için, bir uygulama kullanıcının kimliğini doğruladıktan sonraya kadar hangi kiracıdan olduğunu bilmeyebilir, bu nedenle belirli bir kiracı uç noktasını kullanmak mümkün olmayabilir.

Çok kiracılı uygulamaları etkinleştirmek için Microsoft Entra ID kiracıdan bağımsız iki OIDC/OAuth 2.0 uç noktası sağlar:

  • https://login.microsoftonline.com/common/v2.0 kullanıcıların herhangi bir Microsoft Entra ID kiracısından geldiğinde veya outlook.com, skype.com, xbox.com, live.com veya Hotmail.com gibi sitelerden tüketici Microsoft Hesabına sahip olduklarında uygulamanın kimliğini doğrulamalarına olanak tanır.
  • https://login.microsoftonline.com/organizations/v2.0 kullanıcıların herhangi bir Microsoft Entra ID kiracısından uygulama kimliklerini doğrulamalarını sağlar.

Bu uç noktalar, herhangi bir Microsoft Entra ID kiracısından herhangi bir kullanıcının uygulamanızın kimliğini doğrulamasını sağlar. Yalnızca belirli kiracılardan kullanıcılara izin vermek istiyorsanız, yalnızca bu kiracılardan gelen kullanıcıların uygulamanıza erişmesine izin vermek için mantığı uygulayın. Normal uygulama, kullanıcıları belirteçteki iss (veren) veya tid (kiracı kimliği) talebine göre koruduğunuz kiracıların izin verilenler listesine göre filtrelemektir.

Microsoft Entra ID kiracıları, kiracının normal üyesi olabilecek veya kiracının konuk kullanıcıları olabilecek kullanıcıları destekler. Varsayılan olarak, kiracıdaki konuk kullanıcılar için sınırlı özellikler vardır. Örneğin, konuk kullanıcılar kiracıdaki diğer kullanıcıların tam profilini göremez. Bazen İşletmeler arası (B2B) kullanıcılar olarak da adlandırılan konuk kullanıcılar, farklı kuruluşların Microsoft Entra ID'nin koruduğu araçlar ve hizmetlerle işbirliği yapmasına olanak tanır. Örnek bir senaryo, kuruluşunuzun dışındaki bir kullanıcıyı kiracınızdaki bir SharePoint dosyasına erişmeye davet etmektir. Genellikle, bir B2B kullanıcısı kendi e-posta adresini olarak useridkullanır. Ancak, ev kiracılarında userid olarak aynı adresi kullanabilirler. Varsayılan olarak Microsoft Entra ID, kullanıcı giriş yaptığında onları kendi ev kiracılarına oturum açtırır.

Bir kullanıcının B2B kullanıcısı olarak oturum açması için uygulamanın, kullanıcının konuk olduğu belirli kiracı uç noktasını kullanması gerekir. Bir uygulama uç noktayı kullandığında kullanıcının erişmek istediği kiracıyı belirtmesi https://login.microsoftonline.com/organizations/v2.0 mümkün olsa da, kullanıcılar bu özelliği bulmakta zorlanabilir.

Sonraki adımlar