Azure Active Directory B2C ile TypingDNA yapılandırma öğreticisi
Bu kılavuzda, Azure Active Directory B2C'deki örnek bir çevrimiçi ödeme uygulamasını TypingDNA UYGULAMASıyla tümleştirmeyi öğrenin. Azure AD B2C müşterileri, TypingDNA Uygulamasını kullanarak tuş vuruşu dinamiği ve güçlü müşteri kimlik doğrulaması aracılığıyla Ödeme Hizmetleri Yönergesi 2 (PSD2) işlem gereksinimlerine uyabilir. Burada TypingDNA hakkında daha fazla bilgi bulabilirsiniz.
Azure AD B2C, kullanıcıların yazma özelliklerini yakalamak için TypingDNA teknolojilerini kullanır ve her kimlik doğrulaması hakkında bilgi sahibi olmaları için bunları kaydeder ve analiz eder. Bu, kimlik doğrulamasının riskiyle ilgili bir koruma katmanı ekler ve risk düzeylerini değerlendirir. Azure AD B2C, çok faktörlü kimlik doğrulaması Microsoft Entra çağırarak, e-posta doğrulamayı zorlayarak veya senaryonuz için başka bir özel mantık kullanarak kullanıcının iddia ettiği kişi olduğundan daha fazla güven sağlamak için başka mekanizmalar çağırabilir.
Not
Bu örnek ilkesi SocialAndLocalAccountsWithMfa başlangıç paketini temel alır.
Senaryo açıklaması
Kayıt
Azure AD B2C sayfaları, kullanıcının yazma desenini kaydetmek için TypingDNA'nın JavaScript kitaplığını kullanır. Örneğin, kullanıcı adı ve parola ilk kayıt için kaydolmaya ve ardından doğrulama için her oturum açmada kaydedilir.
Kullanıcı sayfayı gönderdiğinde, TypingDNA kitaplığı kullanıcının yazma özelliğini hesaplar. Bundan sonra, bilgileri B2C Azure AD nin işlediği gizli bir metin alanına ekleyin. Bu alan CSS ile gizlenir.
Örnek, JavaScript ve CSS değişikliklerini içeren HTML dosyalarını içerir ve ve
api.selfasserted.tdnasignup
içerik tanımları tarafındanapi.selfasserted.tdnasignin
başvurulur. HTML dosyalarınızı barındırmak için sayfa içeriğini barındırmaya bakın.Azure AD B2C artık kullanıcı kimlik bilgilerini gönderdiğinde talep çantasında yazma düzenine sahiptir. Bu verileri TypingDNA REST API uç noktasına geçirmek için bir API 'yi (sizin) çağırması gerekir. Bu API , örnekte (typingDNA-API-Interface) bulunur.
Orta katman API'si daha sonra yazma deseni verilerini TypingDNA REST API'sine geçirir. Kayıt sırasında, kullanıcının var olmadığını onaylamak için denetim kullanıcı uç noktası çağrılır ve ardından kullanıcının ilk yazma desenini kaydetmek için kayıt deseni uç noktası çağrılır.
Not
TypingDNA REST API uç noktasına yapılan tüm çağrılar bir UserId gönderir. Bu karma değer olmalıdır. Azure AD B2C, e-postayı HashObjectIdWithEmail
rastgele bir tuz ve gizli diziyle karma yapmak için talep dönüştürmesini kullanır.
REST API çağrıları içinde LocalAccountSignUpWithLogonEmail-TDNA
ile validationTechnicalProfiles
modellenir:
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="AAD-UserWriteUsingLogonEmail-TDNA" />
<ValidationTechnicalProfile ReferenceId="REST-TDNA-CheckUser" ContinueOnError="true"/>
<ValidationTechnicalProfile ReferenceId="REST-TDNA-SaveUser"/>
</ValidationTechnicalProfiles>
Oturum açma
Sonraki oturum açma işlemlerinde kullanıcının yazma düzeni, özel HTML kullanılarak kaydolma sırasındakiyle aynı şekilde hesaplanır. Yazma profili Azure AD B2C talep paketine eklendikten sonra Azure AD B2C, TypingDNA REST API uç noktasını çağırmak için API'nizi çağırır. Kullanıcının var olduğunu onaylamak için kullanıcı uç noktasını denetleme çağrılır. Ardından, desen uç noktasının döndürülmesi için net_score
çağrıldığını doğrulayın. Bu net_score
, yazma düzeninin kaydolma sırasında özgün desene ne kadar yakın olduğunu gösterir.
Bu yazma düzeni içinde SelfAsserted-LocalAccountSignin-Email-TDNA
ile validationTechnicalProfiles
modellenmiştir:
<ValidationTechnicalProfiles>
<ValidationTechnicalProfile ReferenceId="login-NonInteractive"/>
<ValidationTechnicalProfile ReferenceId="REST-TDNA-CheckUser" ContinueOnError="false"/>
<ValidationTechnicalProfile ReferenceId="REST-TDNA-VerifyUser"/>
<ValidationTechnicalProfile ReferenceId="REST-TDNA-SaveUser">
<Preconditions>
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>saveTypingPattern</Value>
<Value>False</Value>
<Action>SkipThisValidationTechnicalProfile</Action>
</Precondition>
</Preconditions>
</ValidationTechnicalProfile>
</ValidationTechnicalProfiles>
Kullanıcı yüksek net_score
olan bir yazma deseni elde ederse, YazmaDNA kaydetme deseni uç noktasını kullanarak bunu kaydedebilirsiniz.
YazmaDNA kaydetme deseni uç noktasının Azure AD B2C tarafından çağrılabilmesini istiyorsanız (API'niz aracılığıyla) API'nizin bir talep saveTypingPattern
döndürmesi gerekir.
Depodaki örnek, aşağıdaki özelliklerle yapılandırılmış bir API (TypingDNA-API-Interface) içerir.
Eğitim modu - Kullanıcının kaydedilmiş ikiden az deseni varsa, her zaman MFA iste.
Kullanıcının kaydedilmiş 2-5 deseni varsa ve
net_score
50'den düşükse MFA isteminde bulunabilirsiniz.Kullanıcının kaydedilmiş 5'ten fazla deseni varsa ve
net_score
65'ten küçükse MFA isteminde bulunabilirsiniz.
Bu eşikler kullanım örneğinizde ayarlanmalıdır.
API'niz değerini değerlendirdikten
net_score
sonra B2C -promptMFA
öğesine boole talebi döndürmelidir.Talep
promptMFA
, çok faktörlü Microsoft Entra kimlik doğrulamasını koşullu olarak yürütmek için ön koşul içinde kullanılır.
<OrchestrationStep Order="3" Type="ClaimsExchange">
<Preconditions>
<Precondition Type="ClaimsExist" ExecuteActionsIf="true">
<Value>isActiveMFASession</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
<Precondition Type="ClaimEquals" ExecuteActionsIf="true">
<Value>promptMFA</Value>
<Value>False</Value>
<Action>SkipThisOrchestrationStep</Action>
</Precondition>
</Preconditions>
<ClaimsExchanges>
<ClaimsExchange Id="PhoneFactor-Verify" TechnicalProfileReferenceId="PhoneFactor-InputOrVerify" />
</ClaimsExchanges>
</OrchestrationStep>
TypingDNA ile ekleme
- Burada TypingDNA'ya kaydolun
- TypingDNA panosunda oturum açın ve API anahtarı ile API gizli dizilerini alın. Bu, daha sonra API arabirimi kurulumunda gerekli olacaktır
TypingDNA'Azure AD B2C ile tümleştirme
Tercih edilen barındırma sağlayıcınızda TypingDNA-API-Interface'i barındırın
TypingDNA-API-Interface çözümündeki tüm ve
apiSecret
örnekleriniapiKey
TypingDNA panonuzdaki kimlik bilgileriyle değiştirinHTML dosyalarını burada CORS gereksinimlerini izleyerek istediğiniz sağlayıcıda barındırın
Dosyadaki ve
api.selfasserted.tdnasignin
içerik tanımlarıTrustFrameworkExtensions.xml
içinapi.selfasserted.tdnasignup
LoadURI öğelerini sırasıyla barındırılan HTML dosyalarınızın URI'si ile değiştirin.Azure portal Microsoft Entra dikey penceresinde kimlik deneyimi çerçevesi altında bir B2C ilke anahtarı oluşturun.
Generate
seçeneğini kullanın ve bu anahtarıtdnaHashedId
olarak adlandırın.İlke dosyalarındaki TenantId değerlerini değiştirme
Tüm TypingDNA REST API teknik profillerindeki (REST-TDNA-VerifyUser, REST-TDNA-SaveUser, REST-TDNA-CheckUser) ServiceURL'leri TypingDNA-API-Interface API'nizin uç noktasıyla değiştirin.
İlke dosyalarını kiracınıza yükleyin.
Kullanıcı akışını test edin
B2C kiracısını açın ve kimlik deneyimi çerçevesini seçin.
Daha önce oluşturduğunuz Kullanıcı Akışını seçin.
Kullanıcı akışını çalıştır'ı seçin
a. Uygulama - Kayıtlı uygulamayı seçin (örnek JWT'dir)
b. Yanıt URL'si - Yeniden yönlendirme URL'sini seçin
c. Kullanıcı akışını çalıştır'ı seçin.
Kaydolma akışına gidin ve bir hesap oluşturun
Oturumu kapat
Oturum açma akışından geçme
Elde edilen JWT sonucu, TypingDNA sonuçlarını gösterir
Canlı sürüm
• Bu test sürümünde MFA devre dışı bırakıldı, ancak kimlik doğrulamasından sonra MFA'nın talep promptMFA
tarafından istenip istenmeyeceğini görebilirsiniz.
• Buradan kaydolun ve Buradan oturum açın
Sonraki adımlar
Ek bilgi için aşağıdaki makaleleri gözden geçirin: