2016-09-29 44 views
5

Azure Active Directory B2C'yi geliştirdiğim yeni bir sayfada uygulamaya çalışıyorum, ancak sayfamdan oturum açmaya çalışırken bu 404 - File or directory not found hatayı alıyorum.Azure Active Directory B2C'yi uygulamaya koyma bana 404 hatası veriyor

Kiracımı yaptım, uygulamamı kaydettim, politikalarımı oluşturdum, tüm anlaşma. Azure portalından onları çok fazla sorun olmadan test edebilirim. Ancak, sayfamdaki ilkeleri uygulamak için official tutorial üzerindeki yönergeleri izledim, söz konusu 404 hatasını bir şey eksik gibi alıyorum.
Hatta oraya gönderilen kodu indirdim ve işe yarıyor!

Her iki kodu da karşılaştırmayı denedim, ancak gerçekten bir fark göremedim. Ancak, bu konuda bana yardımcı olabileceğinizi umarak kodumu yapıştırıyorum.

web.config

<add key="ida:Tenant" value="PlataformaXXX.onmicrosoft.com" /> 
<add key="ida:ClientId" value="84d2a6e6-4cac-4c53-a5ff-XXXXXXXXXXXX" /> 
<add key="ida:AadInstance" value="https://login.microsoftonline.com/{0}/v2.0/.well-known/openid-configuration?p={1}" /> 
<add key="ida:RedirectUri" value="https://localhost:59744/" /> 
<add key="ida:SignUpPolicyId" value="B2C_1_Sign_Up" /> 
<add key="ida:SignInPolicyId" value="B2C_1_Sign_In" /> 
<add key="ida:UserProfilePolicyId" value="B2C_1_Edit" /> 

STARTUP.AUTH.CS

kodunun başka öbek gerekirse
public partial class Startup 
{ 
    // App config settings 
    private static string clientId = ConfigurationManager.AppSettings["ida:ClientId"]; 
    private static string aadInstance = ConfigurationManager.AppSettings["ida:AadInstance"]; 
    private static string tenant = ConfigurationManager.AppSettings["ida:Tenant"]; 
    private static string redirectUri = ConfigurationManager.AppSettings["ida:RedirectUri"]; 

    // B2C policy identifiers 
    public static string SignUpPolicyId = ConfigurationManager.AppSettings["ida:SignUpPolicyId"]; 
    public static string SignInPolicyId = ConfigurationManager.AppSettings["ida:SignInPolicyId"]; 
    public static string ProfilePolicyId = ConfigurationManager.AppSettings["ida:UserProfilePolicyId"]; 

    public void ConfigureAuth(IAppBuilder app) 
    { 
     app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); 

     app.UseCookieAuthentication(new CookieAuthenticationOptions()); 

     // Configure OpenID Connect middleware for each policy 
     app.UseOpenIdConnectAuthentication(CreateOptionsFromPolicy(SignUpPolicyId)); 
     app.UseOpenIdConnectAuthentication(CreateOptionsFromPolicy(ProfilePolicyId)); 
     app.UseOpenIdConnectAuthentication(CreateOptionsFromPolicy(SignInPolicyId)); 
    } ... 

, söyle lütfen.

Gerçekten çocuklar, herhangi bir yardım çok takdir edilecektir.

Saygılarımızla, Toño.

cevap

13

Ben de aynı sorunu yaşıyordum. Kontrol edebileceğiniz şeylerden bazıları şunlardır:

  • olun WebConfig ve Azure AD politika adı

  • emin olun doğru üst/küçük harfler dahil, tam olarak aynı olduğundan emin AadInstance

    ( Nuget onları yeniden yükleme öneririz) bir bölü (/)

  • Eğer Owin ve microsoft.identitymodel.protocol.extensions kütüphanelerin son sürümüne sahip olduğundan emin olun vardır

    • Bu sonuncusu, en zor zamana sahip olduğum sorun. tarayıcınızda ortaya çıkan URL 2 soru işareti içeriyorsa, budur. Eğer .auth kullanmaya çalışıyorsanız
+0

Ne^dedi :) – dstrockis

+3

Geç cevap verdiğim için üzgünüm. Uzantılar paketi eksikti ve yükledikten ve WebGrease ve Antlr paketlerini güncelledikten sonra her şey sorunsuz geçti. Teşekkürler! –

+2

microsoft.identitymodel.protocol.extensions dosyasını güncellemeliydi ve bu sorunu giderdim. Teşekkürler! – Bryan

1

/Beni Mağaza Jetonu Kimlik Doğrulama Ayarları'nda etkinleştirilmiş olduğundan emin olun. Else size bir 404 verir. :)