معرفی شرکت ها


djangorestframework-casdoor-1.0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

djangorestframework-casdoor is a Django REST framework authentication plugin for Casdoor.
ویژگی مقدار
سیستم عامل -
نام فایل djangorestframework-casdoor-1.0
نام djangorestframework-casdoor
نسخه کتابخانه 1.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Anioner
ایمیل نویسنده Anioner <anioner@qq.com>
آدرس صفحه اصلی https://github.com/Anion3r/djangorestframework-casdoor.git
آدرس اینترنتی https://pypi.org/project/djangorestframework-casdoor/
مجوز Apache License 2.0
# Django-REST-Framework-Casdoor `djangorestframework-casdoor` is a Django REST framework authentication plugin for Casdoor. ## Features - [x] Login with Casdoor - [x] Verify Casdoor token - [x] Built-in login view and callback view - [x] Compatible with `rest_framework` - [x] Compatible with `django.contrib.auth` ## Install ```shell pip install Django djangorestframework casdoor djangorestframework-casdoor ``` ## Configuration ### Configure `INSTALLED_APPS` ```python INSTALLED_APPS = [ ..., 'rest_framework_casdoor' ] ``` ### Configure `AUTHENTICATION_BACKENDS` ```python AUTHENTICATION_BACKENDS = [ ..., 'rest_framework_casdoor.backends.CasdoorBackend' ] ``` ### Configure `REST_FRAMEWORK` ```python REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework_casdoor.authentication.CasdoorAuthentication', 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.BasicAuthentication' ] } ``` ### Configure `rest_framework_casdoor` ```python REST_CASDOOR = { 'CASDOOR_CERT': '''''', 'CASDOOR_APP_NAME': '', 'CASDOOR_ENDPOINT': '', 'CASDOOR_CLIENT_ID': '', 'CASDOOR_CLIENT_SECRET': '', 'CASDOOR_ORG_NAME': '', 'CASDOOR_FRONT_ENDPOINT': '', 'AUTH_HEADER_NAME': 'HTTP_AUTHORIZATION', 'AUTH_TYPE_NAME': ('Bearer', 'JWT'), 'AUTH_USER_ID_FIELD': 'id', 'AUTO_CREATE_USER': True, } ``` > More configuration of `rest_framework_casdoor` please see below ## Usage ### Login you can use `rest_framework_casdoor` built-in view to login, and get the token. ```python urlpatterns = [ # path('admin/', admin.site.urls), path('', include('rest_framework_casdoor.urls', namespace='rest_framework_casdoor')) ] ``` Or you can write your own login view to get token and authenticate user. ### Use with `rest_framework` You can easily write a `rest_framework`'s API views to verify current user's permission. For `CBV`: ```python from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from rest_framework.views import APIView from rest_framework_casdoor.authentication import CasdoorAuthentication class ExampleView(APIView): authentication_classes = [CasdoorAuthentication] permission_classes = [IsAuthenticated] def get(self, request, format=None): content = { 'user': str(request.user), # `django.contrib.auth.User` instance. 'auth': str(request.auth), # None } return Response(content) ``` For `FBV`: ```python @api_view(['GET']) @authentication_classes([CasdoorAuthentication]) @permission_classes([IsAuthenticated]) def example_view(request, format=None): content = { 'user': str(request.user), # `django.contrib.auth.User` instance. 'auth': str(request.auth), # token } return Response(content) ``` ## Configuration of `rest_framework_casdoor` ```python DEFAULTS = { 'CASDOOR_CERT': '', 'CASDOOR_APP_NAME': '', 'CASDOOR_ENDPOINT': '', 'CASDOOR_CLIENT_ID': '', 'CASDOOR_CLIENT_SECRET': '', 'CASDOOR_ORG_NAME': '', 'CASDOOR_FRONT_ENDPOINT': '', 'AUTH_HEADER_NAME': 'HTTP_AUTHORIZATION', 'AUTH_TYPE_NAME': ('Bearer',), 'AUTO_CREATE_USER': False, 'CASDOOR_TO_AUTH_MODEL': { 'address': 'address', 'affiliation': 'affiliation', 'avatar': 'avatar', 'bio': 'bio', 'birthday': 'birthday', 'createdIp': 'created_ip', 'createdTime': 'created_time', 'displayName': 'display_name', 'education': 'education', 'email': 'email', 'emailVerified': 'email_verified', 'firstName': 'first_name', 'gender': 'gender', 'homepage': 'homepage', 'idCard': 'id_card', 'idCardType': 'id_card_type', 'isAdmin': 'is_staff', 'isDeleted': 'is_deleted', 'isGlobalAdmin': 'is_superuser', 'isOnline': 'is_online', 'language': 'language', 'lastName': 'last_name', 'lastSigninIp': 'last_signin_ip', 'lastSigninTime': 'last_signin_time', 'lastSigninWrongTime': 'last_signin_wrong_time', 'location': 'location', 'name': 'username', 'owner': 'owner', 'password': 'password', 'passwordSalt': 'password_salt', 'permanentAvatar': 'permanent_avatar', 'phone': 'phone', 'properties': 'properties', 'ranking': 'ranking', 'region': 'region', 'scope': 'scope', 'score': 'score', 'signinWrongTimes': 'signin_wrong_times', 'signupApplication': 'signup_application', 'title': 'title', 'updatedTime': 'updated_time' } } ``` ### Required configuration `CASDOOR_CERT`: Casdoor public key,to verify casdoor token. `CASDOOR_APP_NAME`: Casdoor app name that you use. `CASDOOR_ENDPOINT`: Casdoor endpoint. `CASDOOR_CLIENT_ID`: Casdoor client id. `CASDOOR_CLIENT_SECRET`: Casdoor client secret. `CASDOOR_ORG_NAME`: Casdoor organization name. `CASDOOR_FRONT_ENDPOINT`: Casdoor front endpoint, could be same as `CASDOOR_ENDPOINT` ### Optional configuration `AUTH_HEADER_NAME`: The header name that contains the token. `AUTH_TYPE_NAME`: The type of the token. `AUTO_CREATE_USER`: Whether to automatically create a user that does not exist in the database(if set this `True`, you need to configure `CASDOOR_TO_AUTH_MODEL` with your `auth` user model). `CASDOOR_TO_AUTH_MODEL`: Casdoor field name corresponding to Django User model field name, used to pass parameters when creating users. ## TODO - [ ] Get user info from Casdoor - [ ] Update user info in Django - [ ] Permission control


نیازمندی

مقدار نام
- Django
- djangorestframework
- casdoor


زبان مورد نیاز

مقدار نام
>=3.6 Python


نحوه نصب


نصب پکیج whl djangorestframework-casdoor-1.0:

    pip install djangorestframework-casdoor-1.0.whl


نصب پکیج tar.gz djangorestframework-casdoor-1.0:

    pip install djangorestframework-casdoor-1.0.tar.gz