2013-09-25 19 views
8

AngularJS ve ASP.NET MVC Web API'sini arka uç olarak kullanan bir HTML/CSS/JS frontend ile oldukça büyük bir uygulama yazıyorum.Saf HTML/CSS/JS SPA uygulamasına izin vermek için kullanıcıdan kullanıcı adını/şifresini sorun ve ADFS'ye iletin mi?

Kullanıcıların kimlik doğrulaması yapabilmelerini isterim, ThinkTecture AuthorizationServer'ı ayrı bir makineye yükledim ve Etki Alanı Denetleyicisi'nde çalışan bir ADFS örneği var. Şu anda, giriş için ADFS ile birlikte verilen web sayfasını kullanıyorum, ancak kendi sayfamı kullanabiliyor olsaydım, bu kullanıcı adı/parola combo'yu sorar, AuthorizationServer/ADFS'ye iletir ve sonra sadece bundan sonra kimlik doğrulama simgesi.

Benzer bir şey yapan oldu mu?

Selamlar, Daniel Aslında

+0

Sorunuz için herhangi bir geçici çözümünüz var mı? Lütfen benzer bir sorunu çözmemiz için çözümünüzü paylaşın. –

+0

Aşağıdakileri yaptım: - Kullanıcının POST olarak kullanabileceği API'ye bir/giriş uç noktası ekledim (SSL üzerinden, kullanıcı adı/parola düz metin olarak gönderilmeyecek) - API'mde Thinktecture.IdentityModel kitaplığını kullandım AuthorizationServer'a bağlanmak için proje (Kod Akışı kullanarak). Kod şöyle görünür: ' \t var client = new OAuth2Client ( \t \t yeni Uri (bitiş noktası), \t \t clientId, gizli); \t Oturum AçResponse response = null; \t AccessTokenResponse tokenResponse = null; \t deneyin \t { \t \t tokenResponse = client.RequestAccessTokenUserName (data.user, data.pass, "okuma"); biçimlendirme hakkında Maalesef \t} \t catch (Exception ex) \t { \t \t \t} O inşaat ' ... – dabs

+0

, bu ... kontrolden – dabs

cevap

3

Eğer kullanıcı daha sonra bir sunucu tarafı var (Java veya .NET veya *) bu isteği olsun senin SPA giriş yapılacaktır.

Sunucu, belirtecini ADFS'ye soruyor, ADFS belirtecini gönderir ve sunucunuz, bir çerez aracılığıyla yanıttaki belirteci AngularJS'ye geçirir. Bir nasıl uyguladığını bilmek istiyorsanız çerez her istekte angularjs tarafından otomatik olarak gönderilir olacak

tepki (401403) durumunu kontrol etmek için bir http önleme bekliyoruz yapmak Eğik yan şey ise

... angularjs üzerinde htppInterceptor sadece kontrol edin: Bu konuya

AngularJs -.net MVC WebApi Authentication example

i bu adımı uygulayan açıklanmaktadır. Neyse: Sizin SPA bir RIA tamam ama yine de bir web sunucusunun istemci kısmıdır. İstemci kısmının doğrudan ADFS ile iletişim kurmasına izin vermenin gerçekten iyi olduğunu düşünmüyorum (bence çok kötü). Bunu yapmak için Man-In-The-Middle nasıl önlenir?

+0

İlginç geliyor. Web API projesi, giriş isteğini işleyebilir mi? – dabs

+0

Benim için bu gerçekten bir standart değil, giriş sayfası ise internette oturum açtığınızda klasik bir MVC sayfası! –

+0

Her neyse, eğer ben –