Metadata-Version: 1.2
Name: comk_django_account
Version: 1.0.0
Summary: comk个人开发的account模型，用于构建RSA-SHA256验证的权限系统
Home-page: UNKNOWN
Author: comk
Author-email: 1943336161@qq.com
Maintainer: comk
Maintainer-email: 1943336161@qq.com
License: BSD License
Description: comk_django_account
        ========================
        comk个人开发的account模型，用于构建RSA-SHA256验证的权限系统
        
        现有功能
        ========================
        
        1. model构建
        -------------------------------------------------------------------------------
        #. 先在settings中进行配置::
        
            INSTALLED_APPS = [
                'django.contrib.admin',
                'django.contrib.auth',
                'django.contrib.contenttypes',
                'django.contrib.sessions',
                'django.contrib.messages',
                'django.contrib.staticfiles',
                'comk_django_account.apps.ComkDjangoAccountConfig', # 加上这一行
            ]
        
        #. 再执行 migrate 命令::
        
        
            python manage.py
        
        2. 添加账户
        -------------------------------------------------------------------------------
        #. 在urls.py下加上url配置::
        
            from django.conf.urls import url, include
            from django.contrib import admin
        
            urlpatterns = [
                url(r'^admin/', admin.site.urls),
                url(r'^', include('comk_django_account.urls')),
            ]
        
        #. 通过API创建账户::
        
            url= '/acount_action/'
            request_data = dict(
                method='account.add', # 必传参数
                description='测', # 账户描述
                appid='381', # 账户id
                pri_key=pri_key, # 私钥
                own_public_key=own_public_key, # 公钥
                other_public_key=other_public_key, # 对方公钥
            )
            request.post(url,json=request_data)
        
        
        3. 权限校验
        -------------------------------------------------------------------------------
        #. 对于服务方来说，这里提供一个默认的权限校验方式，只需要加上装饰器即可，使用方法如下::
        
        
            from comk_django_account.views.utils.app_check import request_to_response
            @method_decorator(request_to_response, name='dispatch')  # 用户访问权限校验，以及业务正常失败处理
            class Server(View):
                """
                提供的服务
        
                """
        
        #. 默认的权限校验方式的要求::
        
            1. 权限校验必须限定为POST请求，且交互数据必须是JSON字符串。
            2. 必须有appid、method、timestamp、content、sign字段
            3. timestamp的格式为'2019-01-01 00:00:00'
            4. content必须是键值对
            5. 该装饰器已经确定返回JsonResponse，因为原Server只需要返回dict数据就行，装饰器会进行封装
        
        #. 可以根据此检验方式实现自己的权限校验方法
        
        4. 调用服务
        -------------------------------------------------------------------------------
        #. 对于调用方来说，需要加签名通过认证::
        
            from comk_django_account.views.utils.sign_utils import get_sign
            def get_sign(pri_key, r_data):
                '''
                获取签名
        
                :param pri_key: 私钥
                :param r_data: 一个dict数据
                :return:
                '''
        
            取得键为sign、值为签名值的键值对
        
        
Platform: all
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: Implementation
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries
