ponddy auth sso身份验证库
ponddy-auth的Python项目详细描述
Ponddy身份验证库
提供django restful框架身份验证的类,接受Auth
令牌,并检查django.contrib.auth.models.group中的<;api_agent_prefix>;<;api_id>;的名称。
如果该组存在,则将APIIAGAGNOTIFY子句名附加到^ {CD2> }中,让您可以检查API或用户权限。
提供与restful框架兼容的django模型权限类,让它能够有效地支持此请求中包含api权限验证的权限。
用法
安装软件包
pip install -U ponddy-auth
安装到restful框架身份验证设置
REST_FRAMEWORK={# ...'DEFAULT_AUTHENTICATION_CLASSES':('rest_framework.authentication.SessionAuthentication','rest_framework.authentication.BasicAuthentication','ponddy_auth.authentication.SSOAuthentication',# Add this line),}
设置
验证令牌有效url
真正的身份验证服务器url
- 无默认值
API代理前缀
组的api名称前缀
- 默认:API U代理
API代理属性名称
注入request.user
对象的属性名
- 默认值:API代理
权限
手动检查权限
# project/app/views.pyfromrest_framework.decoratorsimportapi_view@api_view(['GET'])defmy_view(request):ifrequest.user._api_agent.has_perm('auth.view_users')or \ request.user._api_agent.has_perms(['app.perm','app.perm']):# do somethingpass
使用权限类
# project/app/views.pyfromdjango.contrib.auth.modelsimportUserfromrest_frameworkimportviewsetsfromponddy_auth.permissionsimportSSODjangoModelPermissionsfrom.serializersimportUserSerializerclassUserViewSet(viewsets.ModelViewSet):queryset=User.objects.all()serializer_class=UserSerializerpermission_classes=[SSODjangoModelPermissions,]