Microsoft Identity platform ile uygulama oturum açma akışıApp sign-in flow with Microsoft identity platform

Bu konuda, Microsoft Identity platform kullanılarak Web, masaüstü ve mobil uygulamalar için temel oturum açma akışı ele alınmaktadır.This topic discusses the basic sign-in flow for web, desktop, and mobile apps using Microsoft identity platform. Microsoft Identity platform tarafından desteklenen oturum açma senaryoları hakkında bilgi edinmek için bkz. kimlik doğrulama akışları ve uygulama senaryoları .See Authentication flows and app scenarios to learn about sign-in scenarios supported by Microsoft identity platform.

Web uygulaması oturum açma akışıWeb app sign-in flow

Bir kullanıcı tarayıcıda bir Web uygulamasına gittiğinde aşağıdakiler olur:When a user navigates in the browser to a web app, the following happens:

  • Web uygulaması, kullanıcının kimlik doğrulamasının yapılıp yapılmayacağını belirler.The web app determines whether the user is authenticated.
  • Kullanıcının kimliği doğrulanmadıysa, Web uygulaması Kullanıcı oturumu açmak için Azure AD 'ye temsilciler atar.If the user isn't authenticated, the web app delegates to Azure AD to sign in the user. Bu oturum açma, kuruluşun ilkesi ile uyumlu olacaktır. Bu, kullanıcıdan Multi-Factor Authentication (bazen iki öğeli kimlik doğrulama veya 2FA olarak adlandırılır) veya hiç parola (örneğin, Windows Hello) kullanarak kimlik bilgilerini girmesini isteyen bir sorun olabilir.That sign in will be compliant with the policy of the organization, which may mean asking the user to enter their credentials, using multi-factor authentication (sometimes referred to as two-factor authentication or 2FA), or not using a password at all (for example using Windows Hello).
  • Kullanıcıdan, istemci uygulamasına gereken erişimi onaylaması istenir.The user is asked to consent to the access that the client app needs. Bu nedenle, Microsoft Identity platform kullanıcının tarafından onaylanan erişimi temsil eden belirteçleri sunabilmesi için istemci uygulamalarının Azure AD 'ye kaydedilmesi gerekir.This is why client apps need to be registered with Azure AD, so that Microsoft identity platform can deliver tokens representing the access that the user has consented to.

Kullanıcının kimliği başarıyla doğrulandı:When the user has successfully authenticated:

  • Microsoft Identity platform, Web uygulamasına bir belirteç gönderir.Microsoft identity platform sends a token to the web app.
  • Kullanıcının tarayıcı tanımlama bilgisi jar içindeki kimliğini içeren Azure AD 'nin etki alanı ile ilişkili bir tanımlama bilgisi kaydedilir.A cookie is saved, associated with Azure AD's domain, that contains the identity of the user in the browser's cookie jar. Bir uygulama Microsoft Identity platform yetkilendirme uç noktasına gitmek için tarayıcıyı bir sonraki sefer kullandığında, tarayıcı tanımlama bilgisini Kullanıcı yeniden oturum açmak zorunda kalmayacak şekilde gösterir.The next time an app uses the browser to navigate to the Microsoft identity platform authorization endpoint, the browser presents the cookie so that the user doesn't have to sign in again. Bu, SSO 'nun elde edilmesi için de bir yoldur.This is also the way that SSO is achieved. Tanımlama bilgisi Azure AD tarafından üretilir ve yalnızca Azure AD tarafından anlaşılabilirler.The cookie is produced by Azure AD and can only be understood by Azure AD.
  • Web uygulaması, belirteci doğrular.The web app then validates the token. Doğrulama başarılı olursa, Web uygulaması korumalı sayfayı görüntüler ve tarayıcının tanımlama bilgisi jar 'e bir oturum tanımlama bilgisi kaydeder.If the validation succeeds, the web app displays the protected page and saves a session cookie in the browser's cookie jar. Kullanıcı başka bir sayfaya gittiğinde, Web uygulaması, oturum tanımlama bilgisine göre kullanıcının kimliğinin doğrulandığını bilir.When the user navigates to another page, the web app knows that the user is authenticated based on the session cookie.

Aşağıdaki sıra diyagramı bu etkileşimi özetler:The following sequence diagram summarizes this interaction:

Web uygulaması kimlik doğrulama işlemi

Web uygulaması, kullanıcının kimliğinin doğrulanmadığını nasıl belirlerHow a web app determines if the user is authenticated

Web uygulaması geliştiricileri, kimlik doğrulaması gerektirdiğini veya yalnızca belirli sayfaların olduğunu belirtebilir.Web app developers can indicate whether all or only certain pages require authentication. Örneğin, ASP.NET/ASP.NET Core 'da, [Authorize] Denetleyici eylemlerine özniteliği eklenerek yapılır.For example, in ASP.NET/ASP.NET Core, this is done by adding the [Authorize] attribute to the controller actions.

Bu öznitelik, ASP.NET Kullanıcı kimliğini içeren bir oturum tanımlama bilgisinin varlığını denetlamasına neden olur.This attribute causes ASP.NET to check for the presence of a session cookie containing the identity of the user. Bir tanımlama bilgisi yoksa, ASP.NET kimlik doğrulamasını belirtilen kimlik sağlayıcısına yönlendirir.If a cookie isn't present, ASP.NET redirects authentication to the specified identity provider. Kimlik sağlayıcısı Azure AD ise, Web uygulaması, https://login.microsoftonline.com oturum açma iletişim kutusunu gösteren kimlik doğrulamasını yeniden yönlendirir.If the identity provider is Azure AD, the web app redirects authentication to https://login.microsoftonline.com, which displays a sign-in dialog.

Web uygulamasının Microsoft Identity platformunda oturum açması ve bir belirteç alacağıHow a web app delegates sign-in to Microsoft identity platform and obtains a token

Tarayıcı aracılığıyla Kullanıcı kimlik doğrulaması gerçekleşir.User authentication happens via the browser. OpenID Protokolü standart HTTP protokol iletilerini kullanır.The OpenID protocol uses standard HTTP protocol messages.

  • Web uygulaması, Microsoft Identity platform 'ı kullanmak için tarayıcıya bir HTTP 302 (Redirect) gönderir.The web app sends an HTTP 302 (redirect) to the browser to use Microsoft identity platform.
  • Kullanıcının kimliği doğrulandığında, Microsoft Identity platform tarayıcı aracılığıyla yeniden yönlendirme kullanarak belirteci Web uygulamasına gönderir.When the user is authenticated, Microsoft identity platform sends the token to the web app by using a redirect through the browser.
  • Yeniden yönlendirme, Web uygulaması tarafından yeniden yönlendirme URI 'SI biçiminde sağlanır.The redirect is provided by the web app in the form of a redirect URI. Bu yeniden yönlendirme URI 'SI, Azure AD uygulama nesnesi ile kaydedilir.This redirect URI is registered with the Azure AD application object. Uygulama çeşitli URL 'Lerde dağıtılabilmesi için birkaç yeniden yönlendirme URI 'si olabilir.There can be several redirect URIs because the application may be deployed at several URLs. Bu nedenle, Web uygulamasının kullanılacak yeniden yönlendirme URI 'sini belirtmesi de gerekecektir.So the web app will also need to specify the redirect URI to use.
  • Azure AD, Web uygulaması tarafından gönderilen yeniden yönlendirme URI 'sinin, uygulamanın kayıtlı yeniden yönlendirme URI 'lerinden biri olduğunu doğrular.Azure AD verifies that the redirect URI sent by the web app is one of the registered redirect URIs for the app.

Masaüstü ve mobil uygulama oturum açma akışıDesktop and mobile app sign-in flow

Yukarıda açıklanan akış, küçük farklılıklar ile masaüstü ve mobil uygulamalar için geçerlidir.The flow described above applies, with slight differences, to desktop and mobile applications.

Masaüstü ve mobil uygulamalar, kimlik doğrulaması için katıştırılmış bir Web denetimi veya bir sistem tarayıcısı kullanabilir.Desktop and mobile applications can use an embedded Web control, or a system browser, for authentication. Aşağıdaki diyagramda, bir masaüstü veya mobil uygulamanın, erişim belirteçleri almak ve Web API 'Lerini çağırmak için Microsoft kimlik doğrulama kitaplığı 'nı (MSAL) nasıl kullandığı gösterilmektedir.The following diagram shows how a Desktop or mobile app uses the Microsoft authentication library (MSAL) to acquire access tokens and call web APIs.

Masaüstü uygulaması nasıl görünür

MSAL belirteçleri almak için bir tarayıcı kullanır.MSAL uses a browser to get tokens. Web uygulamalarında olduğu gibi, kimlik doğrulaması da Microsoft Identity platformu 'na atanmış olur.As with web apps, authentication is delegated to Microsoft identity platform.

Azure AD, Web Apps için olduğu gibi tarayıcıda aynı kimlik tanımlama bilgisini kaydettiği için, yerel veya mobil uygulama sistem tarayıcısını kullanıyorsa, karşılık gelen Web uygulamasıyla SSO 'yu hemen alır.Because Azure AD saves the same identity cookie in the browser as it does for web apps, if the native or mobile app uses the system browser it will immediately get SSO with the corresponding web app.

Varsayılan olarak, MSAL sistem tarayıcısını kullanır.By default, MSAL uses the system browser. Bu özel durum, daha tümleşik bir kullanıcı deneyimi sağlamak için gömülü bir denetimin kullanıldığı masaüstü uygulamalarının .NET Framework.The exception is .NET Framework desktop applications where an embedded control is used to provide a more integrated user experience.

Sonraki adımlarNext steps

Kimlik doğrulama ve yetkilendirme temellerini kapsayan diğer konular için:For other topics covering authentication and authorization basics:

  • Microsoft Identity platform 'da kimlik doğrulaması ve yetkilendirmenin temel kavramları hakkında bilgi edinmek için bkz . kimlik doğrulaması ve yetkilendirme karşılaştırması .See Authentication vs. authorization to learn about the basic concepts of authentication and authorization in Microsoft identity platform.
  • Kimlik doğrulama ve yetkilendirme için erişim belirteçlerinin, yenileme belirteçlerinin ve KIMLIK belirteçlerinin nasıl kullanıldığını öğrenmek için güvenlik belirteçlerine bakın.See Security tokens to learn how access tokens, refresh tokens, and ID tokens are used in authentication and authorization.
  • Uygulamanızı Microsoft Identity platform ile tümleştirilebilen şekilde kaydetme süreci hakkında bilgi edinmek için bkz. uygulama modeli .See Application model to learn about the process of registering your application so it can integrate with Microsoft identity platform.

Uygulama oturum açma akışı hakkında daha fazla bilgi edinmek için:To learn more about app sign-in flow:

  • Microsoft Identity platform tarafından desteklenen kullanıcıların kimliğini doğrulamak için diğer senaryolar hakkında daha fazla bilgi edinmek için bkz. kimlik doğrulama akışları ve uygulama senaryoları .See Authentication flows and app scenarios to learn more about other scenarios for authenticating users supported by Microsoft identity platform.
  • Microsoft hesapları, Azure AD hesapları ve Azure AD B2C kullanıcıları tek ve kolaylaştırılmış bir programlama modelinde çalışan uygulamalar geliştirmenize yardımcı olan Microsoft kitaplıkları hakkında bilgi edinmek için bkz. msal kitaplıkları .See MSAL libraries to learn about the Microsoft libraries that help you develop applications that work with Microsoft Accounts, Azure AD accounts, and Azure AD B2C users all in a single, streamlined programming model.