ASP.NET CORE API Swagger+IdentityServer4授权验证

本来不想写这篇博文,但在网上找到的文章博客都没有完整配置信息,所以这里记录下。

不了解IdentityServer4的可以看看我之前写的入门博文

Swagger 官方演示地址

源码地址

配置IdentityServer4服务端

首先创建一个新的ASP.NET Core项目。

ASP.NET CORE API Swagger+IdentityServer4授权验证

 

这里选择空白项,新建空白项目

ASP.NET CORE API Swagger+IdentityServer4授权验证

等待创建完成后,右键单击项目中的依赖项选择管理NuGet程序包,搜索IdentityServer4并安装:

ASP.NET CORE API Swagger+IdentityServer4授权验证

等待安装完成后,下载官方提供的UI文件,并拖放到项目中。下载地址:https://github.com/IdentityServer/IdentityServer4.Quickstart.UI

配置IdentityServer4

在项目中新建文件Config.cs文件,源码如下:

using IdentityServer4; using IdentityServer4.Models; using IdentityServer4.Test; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace IdentityServer { public static class Config { public static IEnumerable<IdentityResource> GetIdentityResources() { return new IdentityResource[] { new IdentityResources.OpenId(), new IdentityResources.Profile(), }; } /// <summary> /// API信息 /// </summary> /// <returns></returns> public static IEnumerable<ApiResource> GetApis() { return new[] { new ApiResource("demo_api", "Demo API with Swagger") }; } /// <summary> /// 客服端信息 /// </summary> /// <returns></returns> public static IEnumerable<Client> GetClients() { return new[] { new Client { ClientId = "demo_api_swagger",//客服端名称 ClientName = "Swagger UI for demo_api",//描述 AllowedGrantTypes = GrantTypes.Implicit,//指定允许的授权类型(AuthorizationCode,Implicit,Hybrid,ResourceOwner,ClientCredentials的合法组合)。 AllowAccessTokensViaBrowser = true,//是否通过浏览器为此客户端传输访问令牌 RedirectUris = { ":5001/swagger/oauth2-redirect.html" }, AllowedScopes = { "demo_api" }//指定客户端请求的api作用域。 如果为空,则客户端无法访问 } }; } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfspy.html