细分web api机器对机器场景授权

subdivide web api authorization in machine to machine scenario

我需要为使用 IdentiyServer 的场景提出正确配置的建议。

场景是机器对机器的通信。单个网络 api 分为两部分。一部分允许将通知发布到其中(写入)。第二个允许从中查询信息(读取)。

我设想用 [Authorize("Write")][Authorize("Read")] 之类的东西来保护端点。据我所知,范围 API 宽...如果它们可以用于以这种方式阐明访问权限,我还没有弄清楚...或者它对我的大脑来说太简单了。

建议?

可以在比应用范围更细粒度的级别上使用范围。只需在 API 中对 API 所需的范围进行正常的声明检查。

也许像这样的东西也行得通:https://github.com/IdentityModel/Thinktecture.IdentityModel/blob/master/source/WebApi.ScopeAuthorization/ScopeAuthorizeAttribute.cs