前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flask项目flasgger配置登录认证

Flask项目flasgger配置登录认证

作者头像
简单、
发布2019-01-07 13:52:57
2.4K0
发布2019-01-07 13:52:57
举报

文档的详细编写可以提高开发效率,swagger的合理应用更是如此,之前项目中的swagger只是一个"静态的文档",故此抽空优化了下,并将登录认证加到项目的swagger中.使得接口的安全也有所保障.

一. 在入口文件配置以下信息

代码语言:javascript
复制
def register_swagger(app):
    """
    注册swagger
    """
    from flasgger import Swagger
    template = {
        "securityDefinitions": {'basicAuth': {'type': 'basic'}}
    }
    Swagger(app, template=template)

二. 在views中写入

代码语言:javascript
复制
    """ 多文件上传
        ---
        tags:
          - 用户模块
        ...省略
        
        # 登录认证配置      
        security:
          - basicAuth: []
    """

将username里替换成我们生成的token,password随便填写,我写"1"

image
image

认证成功

image
image

正规一点的写法

代码语言:javascript
复制
@api.route(''):
def shop_add():
    """
  发布商品信息
  ---
  tags:
    - 商品
  parameters:
    - in: "body"
      name: "body"
      description: "需要填写的参数,请认真对应"
      required: true
      schema:
        $ref: "#/definitions/AddShop" # 引用 'definitions'
  definitions:
    AddShop: # 命名和返回的名称要一致
      type: "object"
      properties:
        category_id:
          type: "string"
        goods_sn:
          type: "string"
        name:
          type: "广告地址"
          format: "formData"
        shop_id:
          type: "string"
      json: # 返回名称和命名要一致,除了json也可以用 'xml'
        name: "AddShop"
  responses:
    200:
      description: 返回信息
      examples:
        success: {"auth": 777,"error_code": 0,"success_token": "......."}
    405:
      description: "Invalid input"
  security: # 认证方式为 basic Auth
    - basicAuth: []
    """


    **ps:**
security: # 认证方式为N种,例如
    - bearAuth: []
"securityDefinitions": {'bearAuth': {'type': 'bear'}} # 入口文件里也要修改.
    pass

Tags: None

Archives QR Code

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档