ASP.NET Core分布式项目实战(客户端集成IdentityServer)--学习笔记

任务9:客户端集成IdentityServer

新建 API 项目

dotnet new webapi --name ClientCredentialApi

控制器添加验证

using Microsoft.AspNetCore.Authorization;namespace ClientCredentialApi.Controllers
{[ApiController][Route("[controller]")][Authorize]public class WeatherForecastController : ControllerBase

添加验证之后这个 API 就无法访问,需要添加认证授权模式

因为这是客户端,所以只需要添加 IdentityServer4.AccessTokenValidation

添加 Nuget 包之后

dotnet restore

注册服务

services.AddAuthentication("Bearer").AddIdentityServerAuthentication(options => {options.Authority = "http://localhost:5000";// 获取授权地址options.RequireHttpsMetadata = false;options.ApiName = "api";});

使用服务

app.UseAuthentication();

在 Program.cs 中配置启动端口

webBuilder.UseUrls("http://localhost:5001");

启动程序

dotnet run

访问地址

http://localhost:5001/weatherforecast

返回 401,未授权

VS Code 添加另一个控制台,启动 IdentityServerCenter

访问地址

http://localhost:5000/.well-known/openid-configuration

获取 token_endpoint

"token_endpoint": "http://localhost:5000/connect/token",

通过 Postman 获取 token

使用 Post 的方式访问 token_endpoint

http://localhost:5000/connect/token

Body 添加三个参数(参数在 IdentityServerCenter 的 Config.cs 中定义)

发送请求获取 access_token

通过 access_token 访问客户端

访问地址

http://localhost:5001/weatherforecast

Headers 添加参数 Authorization,Value 为 Bearer + access_token

返回200,授权访问成功

课程链接

http://video.jessetalk.cn/course/explore

相关文章

ASP.NET Core分布式项目实战(业务介绍,架构设计,oAuth2,IdentityServer4)--学习笔记

ASP.NET Core分布式项目实战(课程介绍,MVP,瀑布与敏捷)--学习笔记

ASP.NET Core快速入门 -- 学习笔记汇总

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/310701.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ class实现顺序栈(完整代码)

代码如下: #include <iostream> using namespace std; typedef int ElemType;class SeqStack {public:SeqStack(int stacksize 100) {base new ElemType[stacksize];top base;size stacksize;};~SeqStack() {delete[] base;top NULL;base NULL;};int Empty_Stack(…

EF Core 数据变更自动审计设计

EF Core 数据变更自动审计设计Intro有的时候我们需要知道每个数据表的变更记录以便做一些数据审计&#xff0c;数据恢复以及数据同步等之类的事情&#xff0c; EF 自带了对象追踪&#xff0c;使得我们可以很方便的做一些审计工作&#xff0c;每次变更发生了什么变化都变得很清晰…

C++ class实现链栈(完整代码)

代码如下: #include <iostream> using namespace std; typedef int ElemType;class StackNode {friend class LinkStack;private:ElemType data;StackNode *next;StackNode(): next(NULL) {}; };class LinkStack {public:LinkStack(): top(NULL) {};~LinkStack() {Stack…

海外服务器维护,海外服务器运行不正常的原因是什么?

要开开展海外贸易业务&#xff0c;您需要选择一个由于客户操作错误&#xff0c;服务器无法正常工作。实际上&#xff0c;在使用服务器时&#xff0c;许多小型企业客户不需要定期维护服务器&#xff0c;只需要建立一个对服务器技能有一点了解的人&#xff0c;而他们需要运行服务…

使用Docker-Compose搭建高可用redis哨兵集群

头脑风暴出于学习目的&#xff0c;您可以很轻松地在docker环境下运行redis的单个实例&#xff0c;但是如果您需要在生产环境中运行它&#xff0c;那么必须将Redis部署为HA(High Avaliable)模式。Redis Sentinel为Redis提供高可用性&#xff0c;这意味着使用Sentinel可以创建Red…

C++ class实现顺序队列(完整代码)

代码如下: #include <iostream> using namespace std; typedef int ElemType;class SeqQueue {public:SeqQueue(int Queuesize 100) {base new ElemType[Queuesize];front 0;rear 0;size Queuesize;};~SeqQueue() {delete[] base;};int Empty_Queue();int En_Queue…

es文件创建局域网服务器,大神来教你XBMC和ES文件浏览器局域网共享

回复可见&#xff0c;谢谢支持~首先电脑要设置&#xff0c;记住电脑的IP地址后面添加局域网用的cd4318d0f703918f9002dcbf523d269758eec45d.jpg (59.67 KB, 下载次数: 7)2014-10-11 10:26 上传ccb48d03918fa0ec39148578259759ee3c6ddb5d.jpg (45.07 KB, 下载次数: 7)2014-10-11…

【实战 Ids4】║ 认证中心之内部加权

本期配套视频&#xff1a;https://www.bilibili.com/video/BV1sJ41197af?p9&#xff08;昔我往矣&#xff0c;杨柳依依&#xff0c;今我来思&#xff0c;雨雪霏霏&#xff09;1、为什么需要在认证内部加权我们知道&#xff0c;认证中心的作用就是用来保护我们的资源服务器&…

C++ class实现链队列(完整代码)

代码如下: #include <iostream> using namespace std; typedef int ElemType;class QueueNode {friend class LinkQueue;public:QueueNode(): next(NULL) {};private:ElemType data;QueueNode *next; };class LinkQueue {public:LinkQueue(): front(NULL), rear(NULL) {…

CDN加速小水管动态应用技巧

不得不说现在大陆和HK的云主机都是小水管模式&#xff0c;由于硬件的快速发展在这种小水管的情况下很难发挥出用户硬件资源的能力&#xff0c;当然可以加水管但费用很高&#xff0c;更多时候会浪费带宽&#xff1b;这个时候我们想到CDN加速&#xff0c;这种资源的好处就是可以把…

C++ class实现二叉树(完整代码,附非递归遍历)

代码如下: #include <iostream> #include <stack> #include <queue> using namespace std; typedef char ElemType; int InOrder_count 0;class BinTreeNode {friend class BinaryTree;public:BinTreeNode(): lchild(NULL), rchild(NULL) {};private:ElemT…

服务器水冷系统仿真,水冷漫谈(三)——水冷散热器仿真方法

水冷散热器的精细化设计是需要借助仿真软件的。目前可以完成水冷仿真的商业软件有很多种&#xff0c;各有优势&#xff0c;在此不做对比。Jason用的是FloTHERM&#xff0c;但是主要的分析方法是一致的。不同于风冷的系统&#xff0c;水冷整个系统比较庞大和复杂。工程中一般不会…

在ASP.NET Core中创建基于Quartz.NET托管服务轻松实现作业调度

在这篇文章中&#xff0c;我将介绍如何使用ASP.NET Core托管服务运行Quartz.NET作业。这样的好处是我们可以在应用程序启动和停止时很方便的来控制我们的Job的运行状态。接下来我将演示如何创建一个简单的 IJob&#xff0c;一个自定义的 IJobFactory和一个在应用程序运行时就开…

分享一些支持多租户的开源框架

如果你在开发sass应用程序&#xff0c;可以参考或者直接使用这些开源的框架。ASP.NET Boilerplate — Web应用程序框架ASP.NET Boilerplate是专门为新的现代Web应用程序设计的通用应用程序框架。它使用已经熟悉的工具并围绕它们实施最佳实践&#xff0c;以为您提供SOLID开发经验…

服务器操作系统用什么好,服务器操作系统一般用什么

服务器操作系统一般用什么 内容精选换一换客户的SAP系统部署在第三方云&#xff0c;服务器操作系统在华为云支持的列表内&#xff0c;数据库为任意数据库&#xff0c;同时还有如对象存储等的其他云服务。迁移到华为云后&#xff0c;数据库以及操作系统保持不变&#xff0c;系统…

一张大图了解ASP.NET Core 3.1 中的Authentication与Authorization

下面是一张ASP.NET Core 3.1 中关于Authentication与Authorization的主流程框线图&#xff0c;点击这里查看全图&#xff1a;https://johnnyqian.net/images/202004/aspnet-core-3.1-request-processing-pipeline.png重要组件一些重要的组件及其源码链接如下&#xff1a;Authen…

C++ class实现完全二叉树的顺序存储结构

代码如下: #include <iostream> using namespace std; const int maxsize 100; typedef char ElemType;class QbTree {public:void CreateBTree(int n);int vislchild(int i);int visrchild(int i);int visparent(int i);ElemType viselem(int i);void LevelOrder();p…

研发协同平台持续集成Jenkins作业设计演进

源宝导读&#xff1a;Jenkins作为一个开源的持续集成工具&#xff0c;被大家广泛使用。本文将分享&#xff0c;Jenkins在明源云研发协同平台中的运用&#xff0c;以及在其作业设计方面的演进历程。一、作业设计1.0起初&#xff0c;为了尽快推出研发协同平台v1.0&#xff0c;我们…

一切都要从华为云 CloudIDE 酷似 VS Code 说起

前不久&#xff0c;有个关于华为云 CloudIDE 的问题在知乎、朋友圈、微博等圈子引起了广泛的讨论&#xff0c;甚至上了知乎热榜。那么&#xff0c;背后的真实情况到底是如何的&#xff1f;且听韩老师娓娓道来。华为云 CloudIDE 酷似 VS Code&#xff1f;首先要明确一点&#xf…

C++ class实现双亲表示法

#include <iostream> using namespace std; typedef char ElemType; const int MAXSIZE 100;class TreeNode {friend class Tree; private:ElemType data;int parent; };class Tree { private:TreeNode elem[MAXSIZE];int n;//树中当前的节点个数 }Tree;