Azure AD B2C kullanarak örnek bir web uygulamasında kimlik doğrulamasını yapılandırma

Bu makalede, web uygulamalarınıza Azure Active Directory B2C (Azure AD B2C) kimlik doğrulaması eklemeyi gösteren örnek bir ASP.NET web uygulaması kullanılmaktadır.

Önemli

Bu makalede başvuruda bulunan örnek ASP.NET web uygulaması, erişim belirteci değil kimlik belirteci döndürdüğünden REST API'yi çağırmak için kullanılamaz. REST API çağırabilen bir web uygulaması için bkz . Azure AD B2C kullanarak ASP.NET Core ile oluşturulmuş bir Web API'sini güvenlileştirme.

Genel Bakış

OpenID Bağlan (OIDC), OAuth 2.0 üzerinde oluşturulmuş bir kimlik doğrulama protokolüdür. Kullanıcıların uygulamada güvenli bir şekilde oturum açmasını sağlamak için OIDC'yi kullanabilirsiniz. Bu web uygulaması örneği Microsoft Identity Web kullanır. Microsoft Identity Web, web uygulamalarına kimlik doğrulaması ve yetkilendirme desteği eklemeyi basitleştiren bir ASP.NET Core kitaplıkları kümesidir.

Oturum açma akışı aşağıdaki adımları içerir:

  1. Kullanıcılar web uygulamasına gider ve Oturum aç'ı seçer.
  2. Uygulama bir kimlik doğrulama isteği başlatır ve kullanıcıları Azure AD B2C'ye yönlendirir.
  3. Kullanıcılar kaydolun veya oturum açın ve parolayı sıfırlayın. Alternatif olarak, bir sosyal hesapla oturum açabilirler.
  4. Kullanıcılar başarıyla oturum açıldıktan sonra Azure AD B2C uygulamaya bir kimlik belirteci döndürür.
  5. Uygulama kimlik belirtecini doğrular, talepleri okur ve kullanıcılara güvenli bir sayfa döndürür.

Kimlik belirtecinin süresi dolduğunda veya uygulama oturumu geçersiz kılındığında, uygulama yeni bir kimlik doğrulama isteği başlatır ve kullanıcıları Azure AD B2C'ye yönlendirir. Azure AD B2C SSO oturumu etkinse, Azure AD B2C kullanıcılardan yeniden oturum açmalarını istemeden bir erişim belirteci gönderir. Azure AD B2C oturumunun süresi dolarsa veya geçersiz olursa, kullanıcılardan yeniden oturum açmaları istenir.

Oturumu Kapat

Oturum kapatma akışı aşağıdaki adımları içerir:

  1. Uygulamadan kullanıcılar oturumu kapatmış.
  2. Uygulama oturum nesnelerini temizler ve kimlik doğrulama kitaplığı da belirteç önbelleğini temizler.
  3. Uygulama, Azure AD B2C oturumunu sonlandırmak için kullanıcıları Azure AD B2C oturumu kapatma uç noktasına götürür.
  4. Kullanıcılar uygulamaya geri yönlendirilir.

Önkoşullar

Aşağıdakilerden birini çalıştıran bir bilgisayar:

1. Adım: Kullanıcı akışınızı yapılandırma

Kullanıcılar uygulamanızda oturum açmaya çalıştığında, uygulama bir kullanıcı akışı aracılığıyla yetkilendirme uç noktasına bir kimlik doğrulama isteği başlatır. Kullanıcı akışı, kullanıcı deneyimini tanımlar ve denetler. Kullanıcılar kullanıcı akışını tamamladıktan sonra Azure AD B2C bir belirteç oluşturur ve ardından kullanıcıları uygulamanıza geri yönlendirir.

Henüz yapmadıysanız, bir kullanıcı akışı veya özel ilke oluşturun. Üç ayrı kullanıcı akışı oluşturmak için aşağıdaki adımları yineleyin:

  • Birleştirilmiş Oturum açma ve kullanıcı akışına kaydolma (gibi).susi Bu kullanıcı akışı, Parolanızı unuttunuz deneyimini de destekler.
  • Kullanıcı akışını düzenleyen profil, örneğinedit_profile.
  • Gibi reset_passwordbir Parola sıfırlama kullanıcı akışı.

Azure AD B2C B2C_1_ , kullanıcı akışı adına ekler. Örneğin susi, B2C_1_susi olur.

2. Adım: Web uygulaması kaydetme

Uygulamanızın Azure AD B2C ile oturum açmasını sağlamak için uygulamanızı Azure AD B2C dizinine kaydedin. Uygulamanızı kaydetmek, uygulama ile Azure AD B2C arasında bir güven ilişkisi oluşturur.

Uygulama kaydı sırasında yeniden yönlendirme URI'sini belirteceksiniz. Yeniden yönlendirme URI'si, kullanıcıların Azure AD B2C ile kimlik doğrulaması yaptıktan sonra Azure AD B2C tarafından yönlendirildiği uç noktadır. Uygulama kayıt işlemi, uygulamanızı benzersiz olarak tanımlayan istemci kimliği olarak da bilinen bir uygulama kimliği oluşturur. Uygulamanız kaydedildikten sonra Azure AD B2C, kimlik doğrulama istekleri oluşturmak için hem uygulama kimliğini hem de yeniden yönlendirme URI'sini kullanır.

Web uygulaması kaydını oluşturmak için aşağıdaki adımları kullanın:

  1. Azure Portal oturum açın.

  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden Azure AD B2C kiracınıza geçmek için üstteki menüden Ayarlar simgesini seçin.

  3. Azure portalında Azure AD B2C'yi arayın ve seçin.

  4. Uygulama kayıtları'ı ve ardından Yeni kayıt'ı seçin.

  5. Ad'ın altında uygulama için bir ad girin (örneğin, webapp1).

  6. Desteklenen hesap türleri altında, herhangi bir kimlik sağlayıcısı veya kuruluş dizinindeki hesaplar (Kullanıcı akışı olan kullanıcıların kimliklerini doğrulamak için) seçeneğini belirleyin.

  7. Yeniden Yönlendirme URI'si'nin altında Web'i seçin ve URL kutusuna yazınhttps://localhost:44316/signin-oidc.

  8. Kimlik doğrulaması'nın altında Örtük verme ve karma akışlar'a gidin, kimlik belirteçleri (örtük ve karma akışlar için kullanılır) onay kutusunu seçin.

  9. İzinler'in altında Openid ve çevrimdışı erişim izinleri için yönetici onayı ver onay kutusunu seçin.

  10. Kaydet'i seçin.

  11. Genel bakış'ı seçin.

  12. Web uygulamasını yapılandırırken daha sonra kullanmak üzere Uygulama (istemci) kimliğini kaydedin.

    Screenshot of the web app Overview page for recording your web application ID.

3. Adım: Web uygulaması örneğini alma

Zip dosyasını indirin veya GitHub'dan örnek web uygulamasını kopyalayın.

git clone https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2

Örnek dosyayı, yolun toplam uzunluğunun 260 veya daha az karakter olduğu bir klasöre ayıklayın.

4. Adım: Örnek web uygulamasını yapılandırma

Örnek klasörde, 1-WebApp-OIDC/1-5-B2C/ klasörünün altında, Visual Studio veya Visual Studio Code ile WebApp-OpenID Bağlan-DotNet.csproj projesini açın.

Proje kök klasörünün altında appsettings.json dosyasını açın. Bu dosya, Azure AD B2C kimlik sağlayıcınız hakkında bilgi içerir. Aşağıdaki uygulama ayarları özelliklerini güncelleştirin:

Bölüm Anahtar Değer
AzureAdB2C Örnek Azure AD B2C kiracı adınızın ilk bölümü (örneğin, https://contoso.b2clogin.com).
AzureAdB2C Domain Azure AD B2C kiracınızın tam kiracı adı (örneğin, contoso.onmicrosoft.com).
AzureAdB2C ClientId 2. adımdaki Web Uygulaması (istemci) kimliği.
AzureAdB2C SignUpSignInPolicyId Kullanıcı akışları veya 1. adımda oluşturduğunuz özel ilke.

Son yapılandırma dosyanız aşağıdaki JSON gibi görünmelidir:

"AzureAdB2C": {
  "Instance": "https://contoso.b2clogin.com",
  "Domain": "contoso.onmicrosoft.com",
  "ClientId": "<web-app-application-id>",
  "SignedOutCallbackPath": "/signout/<your-sign-up-in-policy>",
  "SignUpSignInPolicyId": "<your-sign-up-in-policy>"
}

5. Adım: Örnek web uygulamasını çalıştırma

  1. Projeyi derleyin ve çalıştırın.

  2. Şuraya git: https://localhost:44316.

  3. Kaydol/Giriş'i seçin.

    Screenshot of the sign in and sign up button on the project Welcome page.

  4. Kaydolma veya oturum açma işlemini tamamlayın.

Kimlik doğrulaması başarılı olduktan sonra görünen adınızı gezinti çubuğunda görürsünüz. Azure AD B2C belirtecinin uygulamanıza döndürdüğü talepleri görüntülemek için Talepler'i seçin.

Screenshot of the web app token claims.

Uygulamanızı dağıtma

Bir üretim uygulamasında, uygulama kaydı yeniden yönlendirme URI'si normalde uygulamanızın çalıştığı genel olarak erişilebilir bir uç noktadır, örneğin https://contoso.com/signin-oidc.

Kayıtlı uygulamalarınıza istediğiniz zaman yeniden yönlendirme URI'leri ekleyebilir ve değiştirebilirsiniz. Yeniden yönlendirme URI'leri için aşağıdaki kısıtlamalar geçerlidir:

  • Yanıt URL'si düzeniyle httpsbaşlamalıdır.
  • Yanıt URL'si büyük/küçük harfe duyarlıdır. Büyük/küçük harf, çalışan uygulamanızın URL yolunun durumuyla eşleşmelidir.

Sonraki adımlar