python vue token_Flask与Vue的token认证

后端使用flask设计基于token认证方式的restful接口,前端使用vue.js全家桶,利用axios通讯。

感谢两篇文章的作者:

后端Flask

Flask采用token认证方式,主要思路是通过/api/login登录获取token,然后使用token调用各个接口。

所用到框架的库:

flask

flask-cors:flask跨域

flask-sqlachemy: flask数据库orm

flask-httpauth:flask的auth认证

passlib: python密码解析库

itsdangerous

后端结构图

flask/

├── app # 主目录

│   ├── __init__.py

│   ├── __init__.pyc

│   ├── models.py # 数据库

│   ├── models.pyc

│   ├── views.py # 视图

│   └── views.pyc

├── config.py # 配置信息

├── config.pyc

├── db_create.py # 创建数据库

├── db_migrate.py # 更新数据库

├── db_repository

│   ├── __init__.py

│   ├── __init__.pyc

│   ├── manage.py

│   ├── migrate.cfg

│   ├── README

│   └── versions

│   ├── 008_migration.py

│   ├── 008_migration.pyc

│   ├── 009_migration.py

│   ├── 009_migration.pyc

│   ├── __init__.py

│   └── __init__.pyc

├── index.html

└── run.py # app的运行文件

具体实现

系统初始化app/__init__.py

# -*- coding:utf-8 -*-

from flask import Flask

from flask_sqlalchemy import SQLAlchemy

from flask_httpauth import HTTPBasicAuth

from flask_cors import CORS

app = Flask(__name__)

# flask的跨域解决

CORS(app)

app.config.from_object('config')

db = SQLAlchemy(app)

auth = HTTPBasicAuth()

from . import models, views

配置文件config.py

import os

basedir = os.path.abspath(os.path.dirname(__file__))

SQLALCHEMY_DATABASE_URI = "mysql://root:123456@127.0.0.1/rest"

SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db_repository')

SQLALCHEMY_TRACK_MODIFICATIONS = True

BASEDIR = basedir

# 安全配置

CSRF_ENABLED = True

SECRET_KEY = 'jklklsadhfjkhwbii9/sdf\sdf'

环境中使用mysql数据库,版本为mariadb 10.1.22。创建rest表

$ mysql -uroot -p xxxxxx

$ create database rest defa

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值