2017-08-23 63 views
6

Bir NoSql veri deposunu Cosmos DB gibi Kimlik Sunucusu 4'e entegre etmeye çalışıyorum. Dışarıda birisinin benzer bir şey yapıp yapmadığını ve/veya mümkünse merak ediyordum.Kimlik Sunucusu 4 için bir NoSQL kullanmak mümkün mü?

+2

Evet. Sadece kendi "IClientStore" ve "IPersistedGrantStore" sisteminizi uygulayın. Eğer ypu 'IdentityServer4.EntityFramework' a bakarsa, size ne istediğinizi elde etmenizi sağlayacak iyi bir fikir vermelidir. – Mardoxx

+0

Teşekkürler. Buna bakacağım. Yapılandırma ve Operasyonel Mağazayı da uygulamak zorundayım gibi görünüyor, ancak SQL'de köklü bağımlılıkları var gibi görünüyor. Örneğin: .AddConfigurationStore (builder => builder.UseSqlServer ... ve .AddOperationalStore (builder => builder.UseSqlSunucu Herhangi bir düşünce? Teşekkürler! – Dustin

+0

Bu EntityFramework'ın yapılandırması içindir (IQueryableProvider veya bunun gibi bir şey için, EF içselleri üzerine alıntı yapmadığına inanıyorum). Bunun için endişelenmenize gerek yok. ! – Mardoxx

cevap

3

Off-course, IdentityServer4 için NoSQL veritabanını kullanmak mümkündür. Neden olmasın? Burada

startup.cs de MongoDB

ConfigureServices olarak "ilk sıhhi tesisat"() metodu ile bir örneğidir.

public void ConfigureServices(IServiceCollection services) 
    { 
    ... 
    // --- configure identity server with MONGO Repository for stores, keys, clients and scopes --- 
    services.AddIdentityServer() 
      .AddTemporarySigningCredential() 
      .AddMongoRepository() 
      .AddClients() 
      .AddIdentityApiResources() 
      .AddPersistedGrants() 
      .AddTestUsers(Config.GetUsers()); 
    ... 
    } 

başka github proje cloudscribe yoktur, siteler, kullanıcılara, roller, iddiaları ve daha fazlası için yönetim ile ASP.NET Çekirdek çok kiracı web uygulaması vakıf. Bu proje, PostgreSQL (ORDBMS) ve IdentityServer için MySql uygulamaktadır. Bu projede, veritabanları arasında geçiş yapmaya izin veren bir sistemin nasıl uygulanacağı hakkında fikir edinebilirsiniz.

+0

Teşekkürler @MJK! MongoDB uygulamasını kendi başıma inşa etmek için bir örnek olarak kullanacağım. :) – Dustin

+0

@Dustin Yolunuzu bulduğunuz için memnun oldum, eğer yardım ederse lütfen cevap olarak işaretlemeyi ihmal etmeyin – MJK