标签:get mamicode SHA256 resources 客户端 image ice dev otn
1、安装
Install-Package identityserver4
2、编写配置类
//一、IDS4服务制定 public class Config { //1、定义API资源 public static IEnumerable<ApiResource> GetApis() //ApiResource是属于using IdentityServer4.Models;内的。 { return new List<ApiResource> { new ApiResource("api1", "My API") }; } //2、定义客户端 public static IEnumerable<Client> GetClients() { return new List<Client> { new Client { ClientId = "client", // no interactive user, use the clientid/secret for authentication AllowedGrantTypes = GrantTypes.ClientCredentials, // secret for authentication ClientSecrets = { new Secret("secret".Sha256()) }, // scopes that client has access to AllowedScopes = { "api1" } } }; } }
在Startup.cs中注入ids4
//1、注入服务添&加在最底部 var builder = services.AddIdentityServer() .AddDeveloperSigningCredential()//添加开发人员签名凭据 //.AddInMemoryIdentityResources(Config.GetIdentityResources()) //注入GetIdentityResources资源。 .AddInMemoryApiResources(Config.GetApis()) //添加内存apiresource .AddInMemoryClients(Config.GetClients()); //添加内存client
到此我们的授权服务端算是完成了
首先新建一个webapi的项目,同时安装中间件
dotnet new webapi --name ClientCredentialApi Install-Package IdentityServer4.AccessTokenValidation
注入Di
//1、注入服务添&加在最底部 var builder = services.AddIdentityServer() .AddDeveloperSigningCredential()//添加开发人员签名凭据 //.AddInMemoryIdentityResources(Config.GetIdentityResources()) //注入GetIdentityResources资源。 .AddInMemoryApiResources(Config.GetApis()) //添加内存apiresource .AddInMemoryClients(Config.GetClients()); //添加内存client
同时把所有控制器打上[Authorize]的标记,到此我们客户端配置已经完成了
我们分别启动这两个项目,5000端口代表授权服务器,5001代表Api服务器
1.使用postman来测试调用
五、WebApi建立authorization server
标签:get mamicode SHA256 resources 客户端 image ice dev otn
原文地址:https://www.cnblogs.com/fger/p/11021094.html