2017-09-06 7 views
0

In meinem .net-Core 1.1-Code mache ich die Authentifizierung wie folgt (das Senden des Bearer-Tokens an externe URL und suchen Sie nach Ansprüchen im Rückgabetoken). Dieser Code ist in Configure MethodeMigration von Core 1.1 auf 2.0 - Authentifizierung

app.UseCookieAuthentication(new CookieAuthenticationOptions 
     { 
      AuthenticationScheme = "Cookies" 
     }); 

     app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions 
     { 
      AuthenticationScheme = "oidc", 
      SignInScheme = "Cookies", 

      Authority = signinAuthority, 
      RequireHttpsMetadata = signinHTTPS, 

      ClientId = "skybus", 
      ClientSecret = "secret", 

      ResponseType = "code id_token", 
      Scope = { "api1", "offline_access" }, 

      GetClaimsFromUserInfoEndpoint = true, 
      SaveTokens = true 
     }); 

Jetzt habe ich meinen Code ein Upgrade Core 2.0 die beide UseCookieAuthentication & UseOpenIdConnectAuthentication geändert .net. Ich finde es schwer zu finden, was in diesem Fall getan werden muss

Was habe ich es zu wie in ConfigureServices Verfahren folgt

services.AddAuthentication(options => { 
      options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; 
      options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme; 
     }) 
      .AddCookie() 
      .AddOpenIdConnect(o => 
      { 
       o.Authority = signinAuthority; 
       o.SignInScheme = "Cookies"; 
       o.RequireHttpsMetadata = signinHTTPS; 
       o.ClientId = "skybus"; 
       o.ClientSecret = "secret"; 
       o.ResponseType = "code id_token"; 
       o.GetClaimsFromUserInfoEndpoint = true; 
       o.SaveTokens = true; 
       o.Scope.Add("api1"); 
       o.Scope.Add("offline_access"); 
      }); 

In Browser ich diese URL nach den oben genannten Änderungen zu sehen. Es soll mir zeigen entweder die externe Login-Seite, wenn der Benutzer nicht angemeldet ist oder Rückkehr zur Homepage meiner Website

http://localhost:5000/Account/Login?ReturnUrl=%2F

Antwort

0

Ich weiß nicht, ob Sie IdentityServer4 verwenden, aber sie haben zur Verfügung gestellt einige Beispiele auf GitHub für ASP.NET Core 2.0.

Hoffe das hilft dir.

Sample Project

Verwandte Themen