我正在尝试制作基于函数的rest框架视图,该视图使用带有Django OAuth rest framework Toolkit的@api_view
装饰器,其中我使用TokenHasScope
作为permission_class。然而,这需要一个名为required_scopes
的强制属性,但我不确定如何在基于函数的视图中指定它?
这并不是您所要求的,但使用Viewset的另一种选择可以是定义一个视图,该视图子类为ScopedProtectedResourceView
,并使用required_scopes
属性设置作用域。
您可以创建一个视图,将TokenHasScope
子类化,然后对get_scopes
方法进行硬编码以返回所需的范围。如果作用域在不同的视图中发生变化,则可以创建一个decorator,该decorator接收作用域列表并将其传递,然后设置get_scopes
方法以从该decorater中获取作用域。