是否可以忽略IdentityServer4中的未知作用域?

时间:2019-08-01 17:45:07

标签: identityserver4

我有一个使用Microsoft.AspNetCore.Authentication.OpenIdConnect包的应用程序,以使用IdentityServer4针对服务器进行身份验证。

在IdentityServer实现中,我将标准范围的集合设置为IdentityResource

return new List<IdentityResource>
{
  new IdentityResources.OpenId(),
  new IdentityResources.Profile(),
  new IdentityResources.Email(),
  new IdentityResources.Address(),
  new IdentityResources.Phone()
}

我想添加一个具有新作用域的新身份资源以提供信息。为了测试向后兼容性,我在应用程序的AddOpenIdConnect回调中添加了新范围:

.AddOpenIdConnect(options => {
  // snipping for brevity
  options.Scopes = new[] {
    "openid",
    "profile",
    "my-new-scope"  // <- Does not exist in Identity Server yet.
  };
})

根据OpenId Connect Core specification-OpenId提供程序应该未知的范围(强调它们的范围)将被忽略。但是,当我尝试进行身份验证时,出现了invalid_scope错误。

是否有一种方法可以告诉IdentityServer忽略它不知道的作用域?

0 个答案:

没有答案