从Client应用场景介绍IdentityServer4(二)

 

一、在Server上添加动态新增Client的API 接口。

为了方便测试,在Server服务端中先添加swagger,添加流程可参考:

        private ConfigurationDbContext _context;         public ValuesController(ConfigurationDbContext context)         {             _context = context;         }
复制代码

添加动态新增Client的API接口:

复制代码
        [HttpPost]         public IActionResult Post([FromBody] IdentityServer4.EntityFramework.Entities.Client client)         {             var res = _context.Clients.Add(client);             if(_context.SaveChanges() >0)                 return Ok(true);             else                return Ok(false);         }
复制代码

控制器代码如下:


 

二、对Server上的API进行保护

(1)安装IdentityServer4.AccessTokenValidation包

(2)在startup.cs中ConfigureServices方法添加如下代码:

复制代码
            //protect API            services.AddMvcCore()             .AddAuthorization()             .AddJsonFormatters();              services.AddAuthentication("Bearer")                 .AddIdentityServerAuthentication(options =>                 {                     options.Authority = "http://localhost:5000";                     options.RequireHttpsMetadata = false;                      options.ApiName = "api1";                 });
复制代码

AddAuthentication把Bearer配置成默认模式,将身份认证服务添加到DI中。

AddIdentityServerAuthentication把IdentityServer的access token添加到DI中,供身份认证服务使用。

(3)在startup.cs中Configure方法添加如下代码:

复制代码
      public void Configure(IApplicationBuilder app, IHostingEnvironment env)         {             //if (env.IsDevelopment())             //{             //    app.UseDeveloperExceptionPage();             //}              //AddSwagger           
                    
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信