Angular Identityserver4为外部用户保护/访问api

Angular Identityserver4为外部用户保护/访问api,angular,api,identityserver4,webapi,Angular,Api,Identityserver4,Webapi,我想为外部用户(我的意思是,不属于我的组织的用户)提供webapi访问权限。此API已使用identityserver4进行保护 我们的内部应用程序也使用此API。外部用户希望从Angular应用程序和.Net windows应用程序访问此API(两个应用程序使用相同的API)。我如何授予访问权限 API资源-->APISample API作用域-->API.read,API.write 请就此提供建议?基本上,您需要的是外部用户向IdentityServer注册其“客户端应用程序”的一种方式,

我想为外部用户(我的意思是,不属于我的组织的用户)提供webapi访问权限。此API已使用identityserver4进行保护

我们的内部应用程序也使用此API。外部用户希望从Angular应用程序和.Net windows应用程序访问此API(两个应用程序使用相同的API)。我如何授予访问权限

API资源-->APISample API作用域-->API.readAPI.write


请就此提供建议?

基本上,您需要的是外部用户向IdentityServer注册其“客户端应用程序”的一种方式,并就ID/access令牌中应包含哪些作用域/声明达成一致。或者,您必须注册客户端并提供登录详细信息


您可以驱动这个数据库,因此只需在数据库中添加必要的记录即可。此门户的代码您必须自己编写。

好的。知道了。因此,如果外部客户端应用程序是有角度的,那么我应该将流定义为代码流,如果用户的应用程序是windows应用程序,那么也将流定义为类似的代码,对吗?假设用户使用的是Java应用程序,那么它是如何定义的,有什么想法吗?所有的客户端(不管是angular/JavaScript/Java…)都需要指向您的IdentityServer的URL和一个clientID/secret。。。。当然还有一个允许请求的作用域列表。然后这取决于要使用的流,如果他们想要使用授权代码流(当您的客户端用户想要登录时)或客户端凭据流(对于服务到服务,无需任何人工参与),感谢您的建议。您是否为所有客户端实施了反向注销。我对此有些怀疑。最简单的方法就是让访问令牌过期,也许只给它一个很短的生命周期,比如几分钟。。。或者,您的客户机可以查询identityserver(令牌内省),以检查令牌是否仍然有效。最后,您可以提供在注销期间调用客户端的url,请参阅