Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Important
1 Mayıs 2025 tarihinden itibaren Azure AD B2C artık yeni müşteriler için satın alınamayacaktır. Daha fazla bilgi edinmek için SSS bölümünde Azure AD B2C hala satın alınabilir mi? bölümüne bakın.
JavaScript için Microsoft Kimlik Doğrulama Kitaplığı (MSAL.js), JavaScript geliştiricilerinin Azure Active Directory B2C (Azure AD B2C) kullanarak sosyal ve yerel kimliklerle kullanıcıların kimliğini doğrulamasını sağlar.
Azure AD B2C'yi kimlik yönetimi hizmeti olarak kullanarak müşterilerinizin uygulamalarınızı kullanırken nasıl kaydolabileceğini, oturum açabileceğini ve profillerini yönetebileceğini özelleştirebilir ve denetleyebilirsiniz.
Azure AD B2C, kimlik doğrulama işlemi sırasında uygulamanızın görüntülediği kullanıcı arabirimini markalayıp özelleştirmenizi de sağlar.
Desteklenen uygulama türleri ve senaryoları
MSAL.js, tek sayfalı uygulamalarınPKCE izniyle yetkilendirme kodu akışını kullanarak Azure AD B2C ile kullanıcıların oturum açmasını sağlar. MSAL.js ve Azure AD B2C ile:
- Kullanıcılar sosyal ve yerel kimlikleriyle kimlik doğrulaması yapabilir.
- Kullanıcılar Azure AD B2C korumalı kaynaklara erişme yetkisine sahip olabilir (ancak Microsoft Entra korumalı kaynaklara erişemez).
- Kullanıcılar, temsilci izinlerini kullanarak Microsoft API'leri için belirteçleri (örneğin, MS Graph API' sini) alamaz.
- Yönetici ayrıcalıklarına sahip kullanıcılar, temsilci izinlerini kullanarak Microsoft API'leri (örneğin, MS Graph API) için belirteçler alabilir.
Daha fazla bilgi için bkz. Azure AD B2C ile çalışma
Sonraki Adımlar
Aşağıdakilerin nasıl yapılacağını öğrenmek için öğreticiyi izleyin:
- Tek sayfalı bir uygulamada Azure AD B2C ile kullanıcılarda oturum açma
- Azure AD B2C korumalı web API'si çağırma
⚠✔ Buradan başlamadan önce, bir uygulama nesnesini başlatmayı ve kaynaklarla ve kapsamlarla çalışmayı anladığınızdan emin olun. Ayrıca Azure AD B2C hakkında genel bilgi sahibi olunmanızı öneririz. Daha fazla bilgi için B2C belgelerine bakın.
MSAL.js, Azure AD B2C (kısaca B2C) kullanarak sosyal (Microsoft, Google, Facebook vb.), kurumsal (ADFS, Salesforce vb.) ve yerel (Azure AD B2C dizininde depolanır) kimliklerle kimlik doğrulamasını destekler. MSAL.jsile B2C uygulamaları geliştirirken dikkate alınması gereken birkaç önemli ayrıntı vardır.
Hızlı Bilgiler
B2C ile:
- Kullanıcılar sosyal kimlikleriyle kimlik doğrulaması yapabilir .
- Kullanıcılara, kaynaklara erişim yetkisi verilebilirB2C tarafından korunan (ancak Microsoft Entra tarafından korunan kaynaklara değil).
- Kullanıcılar, temsilci izinlerini kullanarak Microsoft API'ler (örneğin MS Graph API) için belirteç alamaz.
- Uygulamalar,uygulama izinlerini (kullanıcı yönetimi senaryoları) kullanarak Microsoft API'ler için belirteçler alabilir.
B2C Uygulama Yapılandırması
Aşağıda bir B2C uygulama yapılandırma örneği verilmiştir:
const msalConfig = {
auth: {
clientId: "<your-clientID>",
authority: "https://<your-tenant>.b2clogin.com/<your-tenant>.onmicrosoft.com/<your-policyID>",
knownAuthorities: ["<your-tenant>.b2clogin.com"] // array of URIs that are known to be valid
}
}
const apiConfig = {
b2cScopes: ["https://<your-tenant>.onmicrosoft.com/<your-api>/<your-scope>"],
webApiUri: "<your-api-uri>" // e.g. "https://fabrikamb2chello.azurewebsites.net/hello"
};
const loginRequest = {
scopes: [ "openid", "offline_access" ]
}
const tokenRequest = {
scopes: apiConfig.b2cScopes // e.g. "https://<your-tenant>.onmicrosoft.com/<your-api>/<your-scope>"
}
Microsoft Entra ve B2C Uç Noktalarının Karşılaştırması
Microsoft Entra ID ve Azure AD B2C kiracıları arasındaki en önemli fark uç noktalarıdır.
Microsoft Entra ID kiracısı:
- Yalnızca Microsoft Entra uç noktaları (
login.microsoftonline.com/*) içerir. -
Tek bir belirteç uç noktası (
login.microsoftonline.com/.../token) sunar. - Microsoft Entra uç noktaları şunların belirteçlerini almanıza olanak sağlar:
- Uygulamalarınız Microsoft Entra ID tarafından korunuyor.
- Microsoft API'leri, örneğin MS Graph API.
B2C kiracısı:
- Microsoft Entra ID ve Azure AD B2C uç noktalarını içerir (
login.microsoftonline.com/*ve<your-domain>.b2clogin.com/*). - Her biri (
login.microsoftonline.com/.../token,<your-domain>.b2clogin.com/.../token) için ayrı belirteç uç noktaları sunar. - B2C uç noktaları şunların belirteçlerini almanıza olanak sağlar:
- Uygulamalarınız B2C tarafından korunuyor.
B2C ve Temsilci İzinleri
Temsilci izinleri, oturum açmış kullanıcının etkileşimli yetkilendirmesini kullanarak kapsam tabanlı erişimi belirtir. Bu izinler, çalışma zamanında kaynağa (örneğin web API'niz, MS Graph API vb.) istemcinin scp talep olarak sunulur.
Bir kullanıcının B2C kimlik doğrulaması, Microsoft Entra tarafından korunan uygulamalara veya Microsoft API’lerine (bunlar da Microsoft Entra ID tarafından korunur) erişim yetkisi vermek için kullanılamaz. Bu nedenle, MSAL.js kullandığınızda, MS Graph API için belirteç almak üzere <your-tenant>.b2clogin.com/.../token uç noktasını kullanamazsınız.
OpenID Connect İzinleri
Yukarıdaki kuralın istisnası, openid ve profile öğelerini içeren, OpenID Connect (OIDC) izinleri olarak bilinen özel bir kapsam kümesinden kaynaklanır. Bir diğer özel izin de uygulamanızın offline_accesskullanıcı adına uzun süre ( Yenileme Belirteci kullanarak) kaynaklara erişmesini sağlayan iznidir. MSAL.js, loginPopup() ve loginRedirect() istekleri sırasında varsayılan olarak openid, profile ve offline_access sağlar.
B2C kiracısına karşı Microsoft Entra ile kimlik doğrulaması
Bir B2C kiracısına herhangi bir parametre sağlamadan login.microsoftonline.com uç nokta kullandığınızdapolicyID, B2C kiracısının Microsoft Entra uç noktalarına isabet edersiniz. Yalnızca bu durumda, oturum açmış kullanıcının bağlamını kullanarak MS Graph API kaynakları için belirteçler alabilirsiniz.
B2C ve Uygulama İzinleri
Uygulama izinleri , istemci uygulamanın kimlik bilgilerini/kimliğini kullanarak rol tabanlı erişimi belirtir. Bu izinler, çalışma zamanında kaynağa istemcinin Erişim Belirteci içinde roles claim'leri olarak sunulur.
Kullanıcı Yönetimi Senaryoları
login.microsoftonline.com uç noktaları, B2C'ye özgü olsalar bile, kullanıcıları ve öznitelikleri yönetmeye ilişkin arka planda yürütülen her türlü etkileşimli olmayan iş için yine de kullanılabilir.
MS Graph API kullanarak B2C kaynaklarını yönetmek için istemci kimlik bilgileri verme iznini kullanacak bir uygulama için uygulama kaydı oluştururken, yönetim uygulamanızın izin alması gereken Graph API kapsamlarını seçmeniz gerekir (daha fazla bilgi için belgelere bakın). Göz önünde bulundurulması gerekenler:
- Uygulama izinlerini almak için uygulama kimlik doğrulaması gerçekleştirmeniz gerekir (istemci kimlik bilgileri verme işlemini kullanarak).
- Temsilci izinlerini almak için bir yönetici hesabıyla kullanıcı kimlik doğrulaması gerçekleştirmeniz gerekir.
- Yönetim uygulamaları genellikle hedef kitle türü 1 veya tür 2 olarak kaydedilir ( aşağıya bakın).
Diğer Konular
B2C ve Hesap/Hedef Kitle Türleri
Uygulama kaydı sırasında bir hedef kitle seçmeniz istenir. Seçtiğiniz hedef kitle türü, hedeflediğiniz kimlik doğrulama türünü gösterir.
| hedef kitle türü | Description | Kimlik Doğrulaması Türü |
|---|---|---|
| #1 | Yalnızca bu kuruluş dizinindeki hesaplar (tek kiracı) | Microsoft Entra kimlik doğrulama |
| #2 | Herhangi bir kuruluş dizinindeki (çok kiracılı) hesaplar. | Microsoft Entra kimlik doğrulama |
| #3 | Herhangi bir kuruluş dizinindeki veya herhangi bir kimlik sağlayıcısındaki hesaplar | B2C Kimlik Doğrulaması |
Kendi API'niz için erişim belirteci alma
Kendi API'niz için erişim belirteci almanın 2 yolu vardır:
- clientId’nizi scope olarak isteyin:
msal.loginRedirect({
scopes: ["client_Id"]
});
Daha fazla bilgi için buraya bakın
- Uygulama kaydınızda kendi özel kapsamınızı tanımlayın ve şu kapsamı isteyin:
msal.loginRedirect({
scopes: ["api://clientId/customScope.Read"]
});
B2C ve Oturum Kapatma Deneyimi
Oturum kapatma, kullanıcının Azure AD B2C ile çoklu oturum açma durumunu temizler, ancak kullanıcının sosyal kimlik sağlayıcısı oturumunu kapatmayabilir. Kullanıcı bir sonraki oturum açma sırasında aynı kimlik sağlayıcısını seçerse, kimlik bilgilerini girmeden yeniden kimlik doğrulamasından geçebilir. Burada, bir kullanıcının uygulamadan çıkış yapmak istemesi durumunda, bunun sosyal hesabından (örneğin Facebook) oturumunu kapatmak istediği anlamına gelmeyebilir.
B2C ve Davet Akışı
MSAL.js yalnızca başlangıçta istediği belirteçleri işler. Akışınız bir kullanıcıya kaydolmak için kullanabileceği bir bağlantı göndermenizi gerektiriyorsa, bağlantının doğrudan B2C hizmetini değil uygulamanızı işaret etmesini sağlamanız gerekir. Örnek davet akışı aşağıdaki gibidir:
- Kullanıcı uygulamanızın bağlantısına tıklar
- Uygulama
msal.loginRedirectçağrısını yapar veid_token_hintöğesiniextraQueryParametersiçine dahil eder
msal.loginRedirect({
scopes: ["example_scope"],
extraQueryParameters: {'id_token_hint': your_id_token_hint}
});
- Uygulama, kullanıcının kimlik bilgilerini girdiği/kaydolduğu B2C hizmetine yeniden yönlendirilir
- B2C hizmeti, yanıtı işlemeye ve belirteçleri kaydetmeye çağıran
await msal.handleRedirectPromise()uygulamanıza geri yönlendirir
B2C ve iframe kullanımı
Azure AD B2C, iframe'de özel oturum açma kullanıcı arabirimini işlemeye olanak tanıyan ekli oturum açma deneyimi sunar. MSAL varsayılan olarak iframe'lerde yeniden yönlendirmeyi önlediğinden, bu özelliği kullanmak için allowRedirectInIframe yapılandırma seçeneğini true olarak ayarlamanız gerekir. iframe'leri kullanırken dikkat edilmesi gereken diğer noktalar için bkz. Iframed uygulamalarında MSAL kullanma