2016-08-02 24 views
0

Ich richte meine Clientanwendung port3g so ein, dass IdentityServer3 zur Authentifizierung verwendet wird.Identityserver3 - Die Clientanwendung ist nicht bekannt oder nicht autorisiert

Ich bekomme den Fehler: Die Client-Anwendung ist nicht bekannt oder ist nicht autorisiert. Ich denke, dass sowohl die Client- als auch die OAuth-Server-Clienteinstellungen korrekt konfiguriert sind. Sieht jemand einen Fehler in jeder Konfiguration

ORT: PORT3G StartUp ..

public void ConfigureAuth(IAppBuilder app) 
    { 
     JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary<string, string>(); 

     app.UseCookieAuthentication(new CookieAuthenticationOptions 
     { 
      AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie 
     }); 
     //port3g_implicit 


     app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions 
     { 
      ClientId = "port3g_implicit", 
      Authority = "http://localhost:22710", // Authorization Server 
      RedirectUri = "http://localhost:28037/", // Address of this website 
      ResponseType = "id_token token ", // Added token was not in orginal code 
      Scope = "openid profile offline_access read appRoles", 
      PostLogoutRedirectUri = "http://localhost:28037", 
      SignInAsAuthenticationType = DefaultAuthenticationTypes.ApplicationCookie 
     }); 

    } 

ORT: Webhost.OAuth

// BEGIN PORT3G 
      new Client 
      { 
       ClientId = "port3g_implicit", 
       ClientSecrets = new List<Secret> 
       { 
        new Secret("secret".Sha256()) 
       }, 
       ClientName = "Port3G", 
       Flow = Flows.Implicit, 
       AllowedScopes = new List<string> 
       { 
        Constants.StandardScopes.OpenId, 
        Constants.StandardScopes.Profile,Constants.StandardScopes.AllClaims , 
        "read","appRoles" 
       }, 
       RedirectUris = new List<string> 
       { 
        "http://localhost:28037/", 
        "http://localhost:28037/" 
       }, 
       PostLogoutRedirectUris = new List<string> 
       { 
        "http://localhost:28037/" 
       }, 
       Enabled = true 
      } 
      // END PORT3G 

Antwort

0

Es gibt einen Raum

ResponseType = "id_token token ", // Added token was not in orginal code 

Entfernen Sie es und versuchen Sie es. Entferne auch offline_access scope

3

Haben Sie auf IdentityServer logging wenden? Es kann unglaublich hilfreich bei der Diagnose dieser Art von Problemen sein.

In diesem speziellen Fall ist es wahrscheinlich, weil Sie nach offline_access fragen, die mit dem impliziten Ablauf nicht zulässig ist. Versuchen Sie, diesen Bezeichner aus der dem Bereich zugewiesenen Zeichenfolge zu entfernen. Wenn Sie auf die Protokollierung, werden Sie wahrscheinlich die folgende Zeile sehen, die dieses Problem zeigt:

[Fehler] Gewünscht Umfang nicht erlaubt: „offline_access“ am Ende Ihres Antworttypen