title: AuthorizeRequestValidator: Error: Invalid grant type for client: implicit
body: <p>I am trying to setting up Identity Server 4 <code>HybridAndClientCredentials</code> on .NET Core 2.0 MVC.</p>
  
  <p>I'm struggling with the error:</p>
  
  <blockquote>
    <p>Invalid grant type for client: implicit</p>
  </blockquote>
  
  <p>Even though I have in my code:</p>
  
  <pre><code>AllowedGrantTypes = GrantTypes.HybridAndClientCredentials,
  </code></pre>
  
  <p>I have downloaded sample quickstart, and that is working properly, but I am unable to find with my code, what the chunk of line is missing.</p>
  
  <p>Debug output:</p>
  
  <pre><code>IdentityServer4.Validation.AuthorizeRequestValidator:
  Error: Invalid grant type for client: implicit
  {
    "ClientId": "consultee",
    "ClientName": "consultee Client test",
    "RedirectUri": "http://consultee.mi.local:44352/signin-oidc",
    "AllowedRedirectUris": [
      "http://consultee.mi.local:44352/signin-oidc"
    ],
    "SubjectId": "anonymous",
    "ResponseType": "id_token",
    "ResponseMode": "form_post",
    "GrantType": "implicit",
    "RequestedScopes": "",
    "State": "CfDJ8KERs5ihv_5Ll9ddYi6Nj5lkLNGQptrJwHqbSD11g27zqVxPcKxLKvbMtd5ab5LPbV15yaCNlHlzpPgRQL4R2XSue8ka_fqLBWFfXad-sRNCyY03JxgL7HZDKDrph-G4hdvRRMvBtXUc0tq2tHd7ZGX7-djehs8aHD6-P_80UfFplHCYkvARV7I64Kb5ki4cFVmLE6G8EbWIUwir6HJpkgK1CbN_IuPtBTjaLZoBOEzpxWTRVaudsD4vZFxdTv4N51ufkn8jy7GPC0pf3xCGInQpA-FziHp681qmiWbCxlp9HuAIZBem-at9dNvC29yRBw4JbcoTSrjuHkq6G6gZtXVh1YuuQYIW9R4wklmlSEX4i8kxM8zJTog98Ce3OFsYnw",
    "Raw": {
      "client_id": "consultee",
      "redirect_uri": "http://consultee.mi.local:44352/signin-oidc",
      "response_type": "id_token",
      "scope": "openid profile api1 offline_access",
      "response_mode": "form_post",
      "nonce": "636626718480261618.MDYwZjE0MjMtNzczMi00ZjQ4LTk0NWUtZjQ1ZDNjM2VjZTRhOWI0NWM0MjMtNGM3Ni00ZDA3LWIyZDctMDcwNTc3ZDU0NGYy",
      "state": "CfDJ8KERs5ihv_5Ll9ddYi6Nj5lkLNGQptrJwHqbSD11g27zqVxPcKxLKvbMtd5ab5LPbV15yaCNlHlzpPgRQL4R2XSue8ka_fqLBWFfXad-sRNCyY03JxgL7HZDKDrph-G4hdvRRMvBtXUc0tq2tHd7ZGX7-djehs8aHD6-P_80UfFplHCYkvARV7I64Kb5ki4cFVmLE6G8EbWIUwir6HJpkgK1CbN_IuPtBTjaLZoBOEzpxWTRVaudsD4vZFxdTv4N51ufkn8jy7GPC0pf3xCGInQpA-FziHp681qmiWbCxlp9HuAIZBem-at9dNvC29yRBw4JbcoTSrjuHkq6G6gZtXVh1YuuQYIW9R4wklmlSEX4i8kxM8zJTog98Ce3OFsYnw",
      "x-client-SKU": "ID_NET",
      "x-client-ver": "2.1.4.0"
    }
  }
  </code></pre>
  
  <p>Client:</p>
  
  <pre><code>new Client
  {
      ClientId = "consultee",
      ClientName = "consultee Client test",
      AllowedGrantTypes = GrantTypes.HybridAndClientCredentials,
  
      ClientSecrets =
      {
          new Secret("secret".Sha256())
      },
  
      RedirectUris = { "http://consultee.mi.local:44352/signin-oidc" },
      PostLogoutRedirectUris = { "http://consultee.mi.local:44352/signout-callback-oidc" },
  
      AllowedScopes =
      {
          IdentityServerConstants.StandardScopes.OpenId,
          IdentityServerConstants.StandardScopes.Profile,
          "api1"
      },
      AllowOfflineAccess = true,
      AllowAccessTokensViaBrowser = true,
  }
  </code></pre>
  
  <p><code>ConfigurationService</code> at Client:</p>
  
  <pre><code>public void ConfigureServices(IServiceCollection services)
  {
      services.AddMvc();
  
      JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
  
      services.AddAuthentication(options =&gt;
          {
              options.DefaultScheme = "Cookies";
              options.DefaultChallengeScheme = "oidc";
          })
          .AddCookie("Cookies")
          .AddOpenIdConnect("oidc", options =&gt;
          {
              options.SignInScheme = "Cookies";
  
              options.Authority = Configuration["identityServerUri"];
              options.RequireHttpsMetadata = false;
  
              options.ClientId = "consultee";
              options.ClientSecret = "secret";
  
              options.SaveTokens = true;
              options.GetClaimsFromUserInfoEndpoint = true;
  
              options.Scope.Add("api1");
              options.Scope.Add("offline_access");
          });
  }
  </code></pre>
  
  <p><code>ConfigurationService</code> at <code>IdServer</code>:</p>
  
  <pre><code>public void ConfigureServices(IServiceCollection services)
      {
          services.AddMvc();
  
          // configure identity server with in-memory stores, keys, clients and scopes
          services.AddIdentityServer()
              .AddDeveloperSigningCredential()
              .AddInMemoryIdentityResources(Config.GetIdentityResources())
              .AddInMemoryApiResources(Config.GetApiResources())
              .AddInMemoryClients(Config.GetClients())
              .AddTestUsers(Config.GetUsers());
  
          services.AddAuthentication();
  
      }
  </code></pre>