当前位置: 首页 > 知识库问答 >
问题:

允许不带作用域的隐式OAuth-IdentityServer4

柯凯旋
2023-03-14

嗨,

我创建了identityServer4来保护我们的API。我们希望允许我们的一个客户端在不发送scope参数的情况下进行连接。

目前,他可以通过发送查询参数登录,如下所示:https://IP/connect/authorize?response_type=token

如果他发送的请求没有作用域,服务器将抛出无效作用域错误。

以下是客户的声明

 new Client
 {
   ClientId="2b62b08868144d68bdd6112d1933b945",
   ClientName = "Client 2",
   ClientSecrets = new [] { new Secret("secret".Sha256()) },
   AllowedGrantTypes = GrantTypes.ImplicitAndClientCredentials,
   AllowAccessTokensViaBrowser = true,
   RedirectUris = { Settings.RedirectURL },
   RequireClientSecret = false,
   PostLogoutRedirectUris = { Settings.PostLogoutRedirectUris },
   AllowedScopes = { "general" },
   RequirePkce = true,
   AllowRememberConsent = true,
   AlwaysIncludeUserClaimsInIdToken = true,
   Enabled = true,
   AlwaysSendClientClaims = true
  }

共有2个答案

司空皓
2023-03-14

对于OpenID Connect,openid作用域是必需的作用域,所有其他作用域都是可选的。它代表IDToken,这是强制性的。

公西姚石
2023-03-14

授权endpoint上需要范围,以下是文档参考:https://identityserver4.readthedocs.io/en/latest/endpoints/authorize.html?highlight=Scope#authorize-endpoint

此功能可能会考虑在未来的IDS4参考:https://github.com/IdentityServer/IdentityServer4/issues/4556#issuecomment-654593955

 类似资料:
  • 问题内容: 我正在尝试在用户空间中使用mmap读取“ mem_map”开始的物理内存。它是一个包含所有物理页面的数组。这是一台运行3.0内核的i386计算机。 代码是这样的: 我以此为根。输出为: 可以肯定的是,我搜索了问题并将以下行添加到我的/etc/sysctl.conf文件中: 但这也不起作用。 谁知道为什么不允许这样的mem_map操作,以及如何解决呢? 谢谢。 问题答案: 听起来好像内核

  • 问题内容: 除了JSONP,为什么要遵循相同的域策略? 问题答案: 出于安全原因,已实施“同源起源策略”;引用维基百科的相关句子: 这种机制对现代Web应用程序具有特殊的意义,因为Web服务器广泛依赖于HTTP cookie来维护经过身份验证的用户会话,因为服务器基于HTTP cookie信息进行操作以揭示敏感信息或执行状态更改操作。 必须在客户端维护不相关站点提供的内容之间的严格分隔,以防止丢失

  • 当我试图打开索引时。php在浏览器中我看到错误: 在error.log: 2013/11/04 22:40:07[错误]3435#0:*4发送到stderr的FastCGI:“无法打开主脚本:/var/www/index.php(不允许操作)”,同时从上游读取响应头,客户端:10.0。2.2,服务器:localhost,请求:“GET/HTTP/1.1”,上游:fastcgi://127.0.0.

  • 问题内容: 我正在尝试使用OAuth 2.0访问Google的文档列表API 3.0,但是遇到401错误的麻烦。 用户接受后,我的代码如下: 然后,在最后一行-getFeed()-引发异常: 这是怎么回事?在静态主测试类上,它的工作原理很吸引人,但是当我在服务器上运行它时,此行不再起作用。任何想法? 解决了 需要使用GoogleOAuthHelper而不是直接使用GoogleOAuthParame

  • 问题内容: 在我的项目中,我需要允许其他人向我的脚本发送ajax请求。因此,外部请求可能来自其他网站和域,也可能来自浏览器扩展。 我在脚本顶部仅添加了以下两行,以使它们能够做到: 现在我的问题是:这里是否遗漏了任何安全方面的考虑?这个简单的解决方案会带来严重的问题吗? 如果是这样,什么是更好的解决方案? 感谢您的回复。 问题答案: 如上所述,任何人都可以随时向您的页面发送请求:因此,您需要考虑的主