仅将 /token/ 端点暴露给 public: Django oauth 工具包
exposing only /token/ endpoint to public: Django oauth toolkit
我正在使用这个插件,它不需要任何用户创建应用程序,任何 OAuth 应用程序只能由 超级用户 添加。
我把这个包含在 urlpatterns
path('auth/', include('oauth2_provider.urls', namespace='oauth2_provider')),
这将向 public
公开所有 urls
,包括用于管理应用程序的点
auth/ ^authorize/$ [name='authorize']
auth/ ^token/$ [name='token']
auth/ ^revoke_token/$ [name='revoke-token']
auth/ ^introspect/$ [name='introspect']
auth/ ^applications/$ [name='list']
auth/ ^applications/register/$ [name='register']
auth/ ^applications/(?P<pk>[\w-]+)/$ [name='detail']
auth/ ^applications/(?P<pk>[\w-]+)/delete/$ [name='delete']
auth/ ^applications/(?P<pk>[\w-]+)/update/$ [name='update']
auth/ ^authorized_tokens/$ [name='authorized-token-list']
auth/ ^authorized_tokens/(?P<pk>[\w-]+)/delete/$ [name='authorized-token-delete']
我只希望 public 的 /token/
端点生成访问令牌和刷新令牌。
如何阻止其他端点 public 并仅允许来自管理面板?
从您的 urls.py
中删除包 url patterns
并明确提及 url 作为,
from oauth2_provider.views import TokenView
urlpatterns = [
<strike>path('auth/', include('oauth2_provider.urls', namespace='oauth2_provider')),</strike> <b># remove this line
path('auth/token/', TokenView.as_view(), name="token"),</b>
]
我正在使用这个插件,它不需要任何用户创建应用程序,任何 OAuth 应用程序只能由 超级用户 添加。
我把这个包含在 urlpatterns
path('auth/', include('oauth2_provider.urls', namespace='oauth2_provider')),
这将向 public
公开所有urls
,包括用于管理应用程序的点
auth/ ^authorize/$ [name='authorize']
auth/ ^token/$ [name='token']
auth/ ^revoke_token/$ [name='revoke-token']
auth/ ^introspect/$ [name='introspect']
auth/ ^applications/$ [name='list']
auth/ ^applications/register/$ [name='register']
auth/ ^applications/(?P<pk>[\w-]+)/$ [name='detail']
auth/ ^applications/(?P<pk>[\w-]+)/delete/$ [name='delete']
auth/ ^applications/(?P<pk>[\w-]+)/update/$ [name='update']
auth/ ^authorized_tokens/$ [name='authorized-token-list']
auth/ ^authorized_tokens/(?P<pk>[\w-]+)/delete/$ [name='authorized-token-delete']
我只希望 public 的 /token/
端点生成访问令牌和刷新令牌。
如何阻止其他端点 public 并仅允许来自管理面板?
从您的 urls.py
中删除包 url patterns
并明确提及 url 作为,
from oauth2_provider.views import TokenView
urlpatterns = [
<strike>path('auth/', include('oauth2_provider.urls', namespace='oauth2_provider')),</strike> <b># remove this line
path('auth/token/', TokenView.as_view(), name="token"),</b>
]