修改 Identity 端点

This commit is contained in:
hello 2024-03-06 16:39:02 +08:00
parent cd522bce2e
commit 9e3a32d600
2 changed files with 85 additions and 0 deletions

View File

@ -93,6 +93,38 @@ UserManager、RoleManager、SignInManager、PasswordValidator 等服务都可以
CURL 命令行工具、Edge 网络控制台、OpenApi、HTTP 文件、Postman、Insomnia、Visual Studio Code REST Client 插件等工具都可以用来测试 API 接口。 CURL 命令行工具、Edge 网络控制台、OpenApi、HTTP 文件、Postman、Insomnia、Visual Studio Code REST Client 插件等工具都可以用来测试 API 接口。
## 基于 Baerer 身份认证
```shell
Authorization : Bearer <token string>
```
## OpenApi 集成 Baerer 身份认证
```csharp
services.Configure<SwaggerGenOptions>(options =>
{
options.AddSecurityDefinition("bearerAuth", new OpenApiSecurityScheme
{
Type = SecuritySchemeType.Http,
Scheme = "bearer",
BearerFormat = "JWT",
Description = "JWT Authorization header using the Bearer scheme."
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "bearerAuth" }
},
Array.Empty<string>()
}
});
});
```
## 参考资料 ## 参考资料

53
notes/helloshop/test.md Normal file
View File

@ -0,0 +1,53 @@
# 程序员修炼之道 第二版 读书笔记
## 第 4 章 务实的偏执
无法写出完美的软件,但是我们可以写出更好的软件,我们需要不断地改进软件,不断地重构软件,不断地学习新的技术,不断地提高自己的技能。
### 死掉的程序不会说谎
一个程序死掉了,说明它有问题,我们需要找出问题所在,然后解决问题,不要忽略问题,不要让问题变得更糟,不要认为重启就是解决问题的办法。
### 尽早暴露问题
尽早暴露问题可以使得问题变得更容易解决,如果我们能够在编译时暴露问题,那么我们就可以在编译时解决问题,如果我们能够在测试时暴露问题,那么我们就可以在测试时解决问题,如果我们能够在运行时暴露问题,那么我们就可以在运行时解决问题。
### 断言式编程
断言式编程是一种防御式编程,它可以使得程序在运行时暴露问题,断言式编程可以使得程序变得更加健壮,但是断言式编程也会使得程序变得更加复杂,因为我们需要在程序中插入大量的断言语句,断言式编程可以使得程序变得更加难以理解和调试。
## 第 5 章 宁弯不折
### 降低耦合度
依赖性是指一个模块在不改变自身的情况下,能够使用另一个模块的内部特性,为了更灵活,我们需要尽量减少依赖性,一些设计模式可以帮助我们解耦。
### 避免全局数据
全局数据是一种依赖性,它会使模块之间产生耦合,全局数据会使得模块之间的关系变得复杂,增加了理解和维护的难度,如果全局数据是可变的,那么它还会引入并发问题,可以封装全局数据,通过统一的函数来访问。
### 观察者模式
事件驱动是一种松耦合的设计,模块之间通过事件进行通信,模块不需要知道其他模块的存在,只需要关心自己的事件,事件驱动可以使得模块之间的关系变得简单,但是也会使得程序的执行流程变得复杂,因为事件的处理是异步的,事件驱动的程序会变得难以理解和调试。
### 管道和过滤器
管道和过滤器是一种流水线式的设计,每个过滤器都是一个独立的模块,它们之间通过管道连接,每个过滤器只需要关心自己的输入和输出,不需要关心其他过滤器的存在,这种设计可以使得模块之间的关系变得简单,但是也会使得程序的执行流程变得复杂,因为过滤器的处理是异步的,过滤器式的程序会变得难以理解和调试。
## 第 6 章 并发
并发性指的是两个或更多个代码段在执行过程中表现得像是在同时运行一样,并行性是指它们的确是在同一时刻一起运行。
现代计算机的多核处理器使得并发编程变得更加重要,但是并发编程也会引入一些问题,比如竞态条件、死锁、饥饿、活锁等。
### 分析工作流提高并发性
工作流是一种并发编程的模型,它可以将一个大的任务分解成多个小的任务,然后并发执行这些小的任务,工作流可以提高程序的并发性。
### 减少共享数据
共享数据是一种依赖性,它会使模块之间产生耦合,共享数据会使得模块之间的关系变得复杂。