Identityserver4 IdentityServer-单独的身份验证、授权、资源,而不使用任何UI网站?

Identityserver4 IdentityServer-单独的身份验证、授权、资源,而不使用任何UI网站?,identityserver4,openid-connect,Identityserver4,Openid Connect,我希望有一个由这些设备/程序组成的体系结构,这些设备/程序具有不同的角色(它们都是分开的,这些角色都不能存在于同一个实例中): 客户 身份验证服务器 授权服务器(可以有很多) 资源服务器(也有许多可能) 以及: 我不想使用任何用户必须导航到的网站 根据我对OAuth和Open ID Connect的研究,我假设客户机可以从身份验证服务器获得ID_令牌(授权后),然后可以从授权服务器请求对不同资源的访问_令牌 我想我所描述的方法允许在客户端窃取身份 我找不到一种方法可以轻松地从授权服务器向客户

我希望有一个由这些设备/程序组成的体系结构,这些设备/程序具有不同的角色(它们都是分开的,这些角色都不能存在于同一个实例中):

  • 客户
  • 身份验证服务器
  • 授权服务器(可以有很多)
  • 资源服务器(也有许多可能)
以及:

我不想使用任何用户必须导航到的网站

根据我对OAuth和Open ID Connect的研究,我假设客户机可以从身份验证服务器获得ID_令牌(授权后),然后可以从授权服务器请求对不同资源的访问_令牌

我想我所描述的方法允许在客户端窃取身份

我找不到一种方法可以轻松地从授权服务器向客户机获取id令牌(然后我可以使用它向多个授权服务器进行身份验证)。我的客户是值得信任的。我想使用本机应用程序并在它们之间实现开放id连接


我不想使用任何网站到现在为止,仍然需要能够有一个安全的沟通与索赔协会的用户和一切。OpenID Connect及其可能的“流”是否适用于此?是否有任何其他实现允许我描述的流程(或OpenID Connect的mabye派生)?

不建议这样做,但如果您确实不想使用浏览器(这有点反OAuth/OIDC,并且充满了限制),那么ResourceOwnerPassword授权类型就是您需要使用的类型。但这不会返回id_令牌,只返回访问_令牌

id_令牌的存在是为了支持基于前端通道浏览器的登录流,如果使用ROP授权类型,则它们没有任何用途


访问令牌由身份验证/安全令牌服务(在本例中为IDS4)颁发,并授予客户端对资源的访问权(可以选择在用户同意的情况下)。然后,该资源有自己的授权规则来实施范围和与用户相关的ACL/业务规则访问控制

你试过什么?您遇到了什么问题?我试图以某种方式从身份验证服务器向客户端获取id令牌,但我找不到方法。我还读到有人说你不应该这样做。但我有一个场景,客户机是可信的,这需要通过不同的授权服务器进行身份验证。我希望这样做:使用凭据获取id令牌(使用客户机和身份验证服务器)。然后:客户端使用id令牌向多个授权服务器进行身份验证。然后:客户端获取授权令牌并在ressource服务器上使用它们访问ressource。使用(非WebSite!)客户端可以找到的唯一示例就是直接使用凭据的api密钥访问(如前两个identity server quick start示例)。不建议这样做,但如果您确实不想使用浏览器(这有点反OAuth/OIDC)那么ResourceOwnerPassword授权类型就是您需要使用的类型。不过,这不会返回id\u令牌,只返回访问\u令牌。