Uygulama yapılandırma seçenekleri

Belirteçlerin kimliğini doğrulamak ve almak için kodunuzda yeni bir ortak veya gizli istemci uygulaması başlatın. İstemci uygulamasını Microsoft kimlik doğrulama kitaplığı 'nda (MSAL) başlatırken birçok yapılandırma seçeneği belirleyebilirsiniz. Bu seçenekler iki gruba ayrılır:

Yetkili

Yetkili, MSAL tarafından belirteçleri isteyebileceğini bir dizini gösteren bir URL 'dir.

Ortak yetkililer şunlardır:

Ortak yetkili URL 'Leri Kullanılması gereken durumlar
https://login.microsoftonline.com/<tenant>/ Yalnızca belirli bir kuruluşun kullanıcıları oturum açın. <tenant>URL 'de, Azure Active Directory (Azure AD) kiracının (bir guıd) veya kiracı etki alanının kiracı kimliğidir.
https://login.microsoftonline.com/common/ Kullanıcıları iş ve okul hesaplarıyla veya kişisel Microsoft hesaplarıyla oturum açın.
https://login.microsoftonline.com/organizations/ İş ve okul hesaplarıyla kullanıcıları oturum açın.
https://login.microsoftonline.com/consumers/ Kullanıcılara yalnızca kişisel Microsoft hesaplarıyla (MSA) oturum açın.

Kodunuzda belirttiğiniz yetkilinin, Azure portal uygulama kayıtları uygulama Için belirttiğiniz Desteklenen hesap türleriyle tutarlı olması gerekir.

Yetkili şu olabilir:

  • Bir Azure AD bulut yetkilisi.
  • Azure AD B2C yetkilisi. B2C özelliklerinebakın.
  • Active Directory Federasyon Hizmetleri (AD FS) (AD FS) yetkilisi. Bkz. AD FS desteği.

Azure AD bulut yetkilileri iki bölümden oluşur:

  • Kimlik sağlayıcısı örneği
  • Uygulama için oturum açma hedef kitlesi

Örnek ve hedef kitle, yetkili URL 'SI olarak birleştirilebilir ve belirtilebilir. Bu diyagram, yetkili URL 'sinin nasıl oluşturulduğunu gösterir:

How the authority URL is composed

Bulut örneği

Örnek , uygulamanızın Azure genel bulutundaki veya ulusal bulutlardan Kullanıcı imzalanmasını belirtmek için kullanılır. Kodunuzda MSAL kullanarak, bir sabit listesi kullanarak veya URL 'YI (bildiğiniz takdirde) Ulusal bulut örneğine geçirerek Azure bulut örneğini ayarlayabilirsiniz .

Her ikisi de belirtilirse, MSAL.NET açık bir özel durum oluşturur InstanceAzureCloudInstance .

Bir örnek belirtmezseniz, uygulamanız Azure genel bulut örneğini (URL 'nin örneği) hedefleyecek https://login.onmicrosoftonline.com .

Uygulama hedef kitlesi

Oturum açma hedef kitlesi, uygulamanız için iş ihtiyaçlarına bağlıdır:

  • İş kolu (LOB) geliştiricisiyseniz, muhtemelen yalnızca kuruluşunuzda kullanılacak tek kiracılı bir uygulama oluşturacaksınız. Bu durumda, organizasyonu kiracı KIMLIĞI (Azure AD örneğinizin KIMLIĞI) veya Azure AD örneğiyle ilişkili bir etki alanı adı ile belirtin.
  • ISV iseniz, kullanıcıların herhangi bir kuruluşta veya bazı kuruluşlarda (çok kiracılı uygulama) iş ve okul hesaplarıyla oturum açmak isteyebilirsiniz. Ancak kullanıcıların kişisel Microsoft hesaplarıyla oturum açmasını da isteyebilirsiniz.

Kodunuzda/yapılandırmanızda hedef kitleyi belirtme

Kodunuzda MSAL kullanarak, aşağıdaki değerlerden birini kullanarak hedef kitleyi belirtirsiniz:

  • Azure AD yetkilisi hedef kitlesi numaralandırması
  • Kiracı KIMLIĞI:
    • Tek kiracılı uygulamalar için GUID (Azure AD örneğinizin KIMLIĞI)
    • Azure AD örneğiniz ile ilişkili bir etki alanı adı (tek kiracılı uygulamalar için de)
  • Azure AD yetkilisi hedef kitlesi numaralandırması yerine bir kiracı KIMLIĞI olarak bu yer tutuculardan biri:
    • organizations çok kiracılı bir uygulama için
    • consumers kullanıcıları yalnızca kendi kişisel hesaplarıyla oturum açmak için
    • common kullanıcılara iş ve okul hesaplarıyla veya kendi kişisel Microsoft hesaplarıyla oturum açmak için

Hem Azure AD yetkilisi kitleyi hem de kiracı KIMLIĞINI belirtirseniz MSAL anlamlı bir özel durum oluşturur.

Hedef kitle belirtmezseniz, uygulamanız Azure AD ve kişisel Microsoft hesaplarını bir hedef kitle olarak hedefleyecek. (Yani, belirtildiği gibi davranır common .)

Etkin hedef kitle

Uygulamanız için geçerli hedef kitle, uygulamanızda belirlediğiniz hedef kitlesinin ve uygulama kaydında belirtilen hedef kitlesinin en az (bir kesişmesi varsa) olacaktır. Aslında uygulama kayıtları deneyimi, uygulama için hedef kitleyi (desteklenen hesap türleri) belirtmenize olanak tanır. daha fazla bilgi için bkz. hızlı başlangıç: Microsoft kimlik platformu bir uygulamayı kaydetme.

Şu anda, yalnızca kişisel Microsoft hesaplarıyla kullanıcıların oturum açması için bir uygulama almanın tek yolu bu ayarların her ikisini de yapılandırmaktır:

  • Uygulama kaydı kitlesini olarak ayarlayın Work and school accounts and personal accounts .
  • Kodunuzda/yapılandırmanızda bulunan hedef kitleyi AadAuthorityAudience.PersonalMicrosoftAccount (veya TenantID = "tüketiciler") olarak ayarlayın.

İstemci Kimliği

İstemci KIMLIĞI, uygulama kaydedildiğinde Azure AD tarafından uygulamanıza atanan benzersiz uygulama (istemci) KIMLIĞIDIR.

Yeniden Yönlendirme URI'si

Yeniden yönlendirme URI 'si, kimlik sağlayıcısı 'nın güvenlik belirteçlerini uygulamasına geri göndereceği URI 'dir.

Ortak istemci uygulamaları için yeniden yönlendirme URI 'SI

MSAL kullanan ortak bir istemci uygulama geliştiricisiyseniz:

  • .WithDefaultRedirectUri()Masaüstü veya UWP uygulamalarında kullanmak istersiniz (msal.NET 4.1 +). Bu yöntem, ortak istemci uygulamasının yeniden yönlendirme URI özelliğini genel istemci uygulamaları için önerilen varsayılan yeniden yönlendirme URI 'SI olarak ayarlar.

    Platform Yeniden Yönlendirme URI'si
    Masaüstü uygulaması (.NET ILT) https://login.microsoftonline.com/common/oauth2/nativeclient
    UWP değeri WebAuthenticationBroker.GetCurrentApplicationCallbackUri() . Bu, kaydolmanız gereken WebAuthenticationBroker. GetCurrentApplicationCallbackUri () sonucuna değer ayarlayarak, SSO 'yu tarayıcıda sağlar
    .NET Core https://localhost. Bu, .NET Core 'un katıştırılmış Web görünümü için bir kullanıcı arabirimine sahip olmadığından kullanıcının etkileşimli kimlik doğrulaması için sistem tarayıcısını kullanmasına olanak sağlar.
  • Aracı yeniden yönlendirme URI 'sini desteklemeyen bir Xamarin Android ve iOS uygulaması oluşturuyorsanız yeniden yönlendirme URI 'SI eklemeniz gerekmez. msal{ClientId}://authXamarin Android ve iOS için otomatik olarak ayarlanır.

  • Uygulama kayıtlarıYENIDEN yönlendirme URI 'sini yapılandırın:

    Redirect URI in App registrations

Özelliğini kullanarak yeniden yönlendirme URI 'sini geçersiz kılabilirsiniz RedirectUri (örneğin, aracılar kullanıyorsanız). Bu senaryo için yeniden yönlendirme URI 'Leri örnekleri aşağıda verilmiştir:

  • RedirectUriOnAndroid = "msauth-5a434691-CCB2-4fd1-b97b-b64bcfbc03fc://com.Microsoft.identity.Client.Sample";
  • RedirectUriOnIos = $ "msauth. {Demeti. ID}://kimlik doğrulaması ";

ek iOS ayrıntıları için bkz. ADAL.NET 'den MSAL.NET 'ye Microsoft Authenticator kullanan ios uygulamalarını geçirme ve ios üzerinde aracıkullanma. Ek Android ayrıntıları için bkz. Android 'de aracılı kimlik doğrulaması.

Gizli istemci uygulamaları için yeniden yönlendirme URI 'SI

Web Apps için, yeniden yönlendirme URI 'si (veya yanıt URL 'SI), Azure AD 'nin belirteci uygulamaya geri göndermek için kullanacağı URI 'dir. Gizli uygulama bunlardan biri ise, bu URI Web uygulaması/Web API 'sinin URL 'si olabilir. Yeniden yönlendirme URI 'sinin uygulama kaydında kayıtlı olması gerekir. Başlangıçta yerel olarak test ettiğiniz bir uygulamayı dağıtırken bu kayıt özellikle önemlidir. Ardından, uygulama kayıt portalı 'nda dağıtılan uygulamanın yanıt URL 'sini eklemeniz gerekir.

Daemon uygulamaları için bir yeniden yönlendirme URI 'SI belirtmeniz gerekmez.

Gizli anahtar

Bu seçenek, gizli istemci uygulaması için istemci parolasını belirtir. Bu gizli dizi (uygulama parolası) uygulama kayıt portalı tarafından sağlanır veya PowerShell AzureAD, PowerShell Azurerd veya Azure CLı ile uygulama kaydı sırasında Azure AD 'ye sağlanır.

Günlüğe Kaydetme

Hata ayıklama ve kimlik doğrulama sırasında hata giderme senaryolarında, Microsoft kimlik doğrulama kitaplığı yerleşik günlük desteği sağlar. Günlüğe kaydetme her bir kitaplık aşağıdaki makalelerde ele alınmıştır:

Sonraki adımlar

Msal.NET kullanarak istemci uygulamalarının örneğini oluşturma ve MSAL.jskullanarak istemci uygulamaları örneğini oluşturma hakkında bilgi edinin.