背景 假设在某个域中拥有后端 API(127.0.0.1:8080) 并且在另一个域或同一域的不同路径(或移动应用程序)中有一个前端(127.0.0.1:8081) 并且希望有一种方法让前端使用用户名和密码与后端进行身份验证 可以使用 OAuth2 通过 FastAPI 来构建它,通过 FastAPI 提供的工具来处理安全性 OAuth2 的授权模式 授权码授权模式 Authorization Code Grant 隐式授权模式 Implicit Grant 密码授权模式 Resource Ow…
JWT JSON Web Tokens 它是一个将 JSON 对象编码为密集且没有空格的长字符串的标准 使用 JWT token 和安全密码 hash 使应用程序真正安全 JWT 小栗子 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c…
OAuth2 规定在使用(我们打算用的)「password 流程」时,客户端/用户必须将 username 和 password 字段作为表单数据发送.我们看下在我们应该去如何实现呢. 我们写一个登录接口,默认返回token和token_type from fastapi import FastAPI, Depends,status,HTTPException from pydantic import BaseModel from typing import Optional from fast…
Binder算是android里面比较难懂的部分了,但是非常重要,基本上,当我们深入到进程交互的阶段,Binder都是一个绕不开的槛,所以我也希望帮助大家更浅显地了解到这个知识点.笔者想通过3篇博文简单介绍Binder,也仅仅是Java层,希望能够帮助到想了解Binder基本知识的开发者. 为什么需要Binder? 在提及Binder之前,我们先看看我们平时开发的app的状况.每个app就像孤岛一样,生活在系统分配给自己的虚拟机和内存空间,好处是安全,各个app不会互相影响到对方,IE一个网页的…
你写API接口肯定你是希望是有权限的人才能访问,没有权限的人是不能访问的,那么我们应该如何去处理呢,我们可以用的验证方式有很多,我们这次分享的是用:OAuth2来认证.那么我们看下,需要怎么才能实现呢.我们现在的接口有一部分需要用OAuth2认证后才可以访问,另一部分可以随便去访问的,那么我们看下,我们应该如何去实现. 需求:1.items接口任意都可以访问 2.item接口需要认证后才可以访问. 我们看下如何去实现上面的需求 from fastapi import FastAPI,Depend…
官方文档主要侧重点是循序渐进地学习FastAPI, 不利于有其他框架使用经验的人快速查阅 故本文与官方文档不一样, 并补充了一些官方文档没有的内容 安装 包括安装uvicorn $pip install fastapi[all] 分开安装 $pip install fastapi $pip install uvicorn[standard] uvicorn使用 uvicorn是一个非常快速的 ASGI 服务器. 官方文档在这里: uvicorn 命令行启动 # mian.py from fast…
TabActivity在Android4.0以后已经被完全弃用,取而代之的是Fragment.Fragment是Android3.0新增的概念,Fragment翻译成中文是碎片的意思,不过却和Activity十分的相似.以下内容适用于3.0及以上的版本,3.0以下就不再赘述. 官方文档地址:http://developer.android.com/reference/android/support/v4/app/Fragment.html 一.Fragment的基础知识介绍 1.Fragment…
/* Name:if最简单的用法-1 Copyright:By.不懂网络 Author: Yangbin Date:2014年2月9日 03:00:58 Description:if最简单的用法,真则输出,假则不输出. */ # include <stdio.h> # include <stdlib.h> int main(void) { > ) printf("A\n"); ) printf("B\n"); ) printf(&quo…
1.模板模式就是用虚类作为基类将几个要执行差不多操作中相同的部分提取出来,不同的部分各自实现! 2.下面给出简单栗子: 我要进行的操作是将大象和狐狸放入冰箱,放入大象和狐狸有相同的步骤:开冰箱和关冰箱,这个操作在基类中实现就好,而不同的在于具体操作部分: 一,大象太胖了,要测量并切片才能放入冰箱 二,狐狸太臭了,要洗干净并擦干 所以程序如下: 1.基类:BasicFridgeOperation.java package com.learn.templateMode; /** * Created…
前言  内容摘自Python参考手册(第4版) 及 自己测试后得出.仅作为一个简单记录,方便使用查询之用. 另 dir(func)及func.__doc__可以查看对象属性及说明文档. 序列Sequence 序列包括字符串.列表.元组. a = [5,6,3,2] b = [1,3] 1.连接 s+r c = a + b # [5,6,3,2,1,3] 2.解包 V1,V2..,Vn  = s v1,v2,v3,v4 = a #v1 = 5,v2 = 6 ,v3 = 3 ,v4 =2 3.索引…