5

Amacım, Windows auth kullanılarak kimliği doğrulanmış uygulama/web hizmeti kullanıcıları ile bir web servisi tüketen bir Açısal uygulama. Kullanıcılar, Windows etki alanımızdaki bir makineye giriş yapabilmeli, bir tarayıcı açmalı ve tekrar oturum açmadan Angular uygulamasını kullanabilmelidir.Windows auth'ı Identity Server 3 ile nasıl kullanırım?

Araştırma

ben En basit OAuth2 Walkthrough numune içinden çalıştı https://github.com/IdentityServer/IdentityServer3.Samples/

gelen tüm kaynak kod örnekleri indirildi. Sorun yok.

Web Ana Bilgisayarı (Windows Auth All-In-One) örneğini açtım. Ben (ilgili olmayan Muhtemelen. 'AllowAccessTokensViaBrowser = false' ayarı Clients.cs hatları 313.359.) geri ve sorunlar neden olduğunu iki kod satırları yorum sonra, projeyi inşa edebileceğini

uygulama çalıştırıldı

, 44333 localhost'ta IdentityServer3 açılış sayfası'u görebiliyordum. Harika.

Yerel ana bilgisayarda Windows kimlik doğrulama hizmeti meta verileri (A SAML belgesi) 44333/windows'u da görebiliyordum. Ayrıca, harika.

Sorun şu ki, sonra ne yapacağımı bilmiyorum.

http://github.com/IdentityServer/IdentityServer3/issues/1463

bu doğru yaklaşım mı: Bu belge bir sonraki adım, bir jetonu almak üzere Windows kimlik doğrulaması hizmetine bir çağrı yapan bir müşteri yazma ilgili olduğunu açıkça göstermektedir görünüyor? Kod örneğini çalışamıyorum. OAuth2Client'u doğru yere işaret ettiğimden bile emin değilim. Birisi bu süreci açıklayabilir mi, yoksa çalışan bir müşteriyle bana bir örnek gösterebilir mi? yardım :) Biraz daha fazla araştırma yapıyor

DÜZENLEME için şimdiden teşekkür ederiz. Kimlik doğrulama sunucusunun günlüklerini denetledikten sonra WS-Federation bitiş noktası ekleme işleminin yapılandırma sırasında tamamlandığından emin olmak için. Öyle. github.com/IdentityServer/IdentityServer3/issues/2318

Thinktecture.IdentityModel.Client, ben değiştirerek ithal olması: Burada önerildiği gibi

Sonra, Windows kimlik doğrulaması hizmetini çağırmak için basit konsol uygulaması oluşturulur o sayfadaki kod ben bu ile sona erdi vb benim noktası numaralarını sığdırmak için:

var handler = new HttpClientHandler 
    { 
     UseDefaultCredentials = true 
    }; 
    var oauthClient = new OAuth2Client(
        new Uri("https://localhost:44333/windows/token"), 
        handler); 

    var result = oauthClient.RequestCustomGrantAsync("windows").Result; 

benim sonuç nesne hala beni üzüyor NotFound bir HttpErrorStatusCode vardır.

Branimir tarafından aşağıda önerilen gibi ben Kimlik sunucu uç noktada müşteri işaret çalıştı

BAŞKA DÜZENLEME.Bu yüzden kodum şu an okur:

var oauthClient = new OAuth2Client(
    new Uri("https://localhost:44333/connect/token"), 
    handler); 

Bu, ya da çalışmıyor. Bu Kimlik sunucusu günlükleri demek budur:

Start token request 
iisexpress.exe Information: 0 : 04/27/2016 20:35:23 +01:00 [Information] (IdentityServer3.Core.Validation.SecretParser) 
Parser found no secret 
iisexpress.exe Information: 0 : 04/27/2016 20:35:23 +01:00 [Information] (IdentityServer3.Core.Validation.ClientSecretValidator) 
No client secret found 
iisexpress.exe Information: 0 : 04/27/2016 20:35:23 +01:00 [Information] (IdentityServer3.Core.Endpoints.TokenEndpointController) 
End token request 
iisexpress.exe Information: 0 : 04/27/2016 20:35:23 +01:00 [Information] (IdentityServer3.Core.Results.TokenErrorResult) 
Returning error: invalid_client 

yüzden başka ileriye değilim.

+0

URL'yi kontrol ettiniz mi? Aynı kodu indirdim ve son nokta https: // localhost: 44333/connect/token gibi görünüyor, ama yine de nasıl kullanacağımı bilmiyorum. – Branimir

+0

Teşekkürler Branimir, Ben sadece bu URL'yi kullanmayı denedim ve benim için işe yaramadı, bu soruya değinmek için sorumu düzenledim. Herhangi bir ilerleme kaydederseniz, lütfen bana bildirin. –

cevap

0

Neden jeton son noktasını kullanmak istiyorsunuz - sadece OAuth/OpenID Connect örtülü akışı yapın. Bu, kullanıcının Windows kimlik doğrulamasını kullanarak otomatik olarak doğrulanmasını sağlayacaktır.

+0

Cevabınız için teşekkür ederiz. Bu bölgeye yeni gelen biriyim, bu yüzden yardımı takdir ediyorum. İyi bir Windows Auth + Kimlik Sunucusu öğreticisi biliyorsanız, minnettar olurdum. –

+5

Bazı deneylerden sonra, örtülü akış kullanarak bir çözüm bulmayı başardım. Github üzerine bir çözüm yolu ile çözümümümü gönderdim (https://github.com/mark-truran/ID3WINDOWSAUTH) –

+3

Cevap aşağı oylama çünkü temelde bir snarky bir açıklama. Ancak, görünüşe göre orijinal posteri doğru cevaba yönlendirdi ve bunu bize anlatabileceğimiz bir bağlantı verdi. Teşekkür ederim Mark. –

İlgili konular