说我有一个具有多种身份验证方案(基本,承载,OAuth)的应用程序。每个方案都允许我将个人与请求(身份验证)相关联。我只想允许某些角色的某些人(授权)使用某些资源。
例如,只有角色为“ admin”的用户才能访问/admin/*
路由。
听起来可能是示波器的目的,其中“范围”与“角色”匹配。
security:
- OAuth2:
- admin
除了OAuth2和OpenID仅允许使用此“范围”功能,其他方案不允许。
我是否误解了OpenAPI中作用域的用途?为什么不允许其他身份验证方案的作用域?
此外,我将身份验证和授权视为两个独立的事物,无论身份验证方法如何,我的角色/作用域都是相同的。
OpenAPI规范要求为每个方案指定范围,即使它们的名称相同且含义相同。在路由级别指定作用域时,这可能导致很多重复。如果我的框架允许我不要在生成文档的代码中重复过多的描述性信息,那么详尽度并不是一个实际的问题,但这使我质疑我对“范围”功能用途的理解。