zoukankan      html  css  js  c++  java
  • IdentityServer4实战

    一.前言

    我们在实际使用 IdentityServer4 的时候,可能会在使用 IdentityServer4 项目添加一些API,比如 找回密码、用户注册、修改用户资料等,这些API与IdentityServer4怎么共存在一个项目呢?

    二.整合

    1.首先在 Startup.cs 中添加 IdentityServer4

    services.AddIdentityServer(options=>options.Authentication.CookieAuthenticationScheme= "Cookies")
                    .AddDeveloperSigningCredential()
                    .AddInMemoryIdentityResources(Config.GetIdentityResources())
                    .AddInMemoryApiResources(Config.GetApis())
                    .AddInMemoryClients(Config.GetClients())
                    .AddTestUsers(Config.GetUsers());
    

    2.然后在添加 IdentityServer4 下添加认证

    services.AddAuthentication("Bearer")
                    .AddCookie("Cookies")
                    .AddJwtBearer("Bearer", options =>
                    {
                        //identityserver4 地址 也就是本项目地址
                        options.Authority = "http://localhost:5000";
                        options.RequireHttpsMetadata = false;
                        options.Audience = "api1";
                    });
    

    注意事项

    • Cookie Scheme 是非必须的,但是如果不设置会报错,但是也不会影响正常使用

    • AddAuthentication 必须必须必须 放在 AddIdentityServer 之后

    1549006874861

    3.中间件配置

    app.UseIdentityServer();
    

    这里只需 UseIdentityServer 即可

    三.测试

    在 IdentityServer4 项目添加一个 Controller

    [Route("identity")]
    [Authorize]
    public class IdentityController : ControllerBase
    {
        public IActionResult Get()
        {
            return new JsonResult(from c in User.Claims select new { c.Type, c.Value });
        }
    }
    

    将 IdentityServer4 项目的端口设置为5000,使用密码模式,下面进行测试:

    1.请求Token

    1549007117138

    2.请求API

    1549007152188

    四.资料

    本文Demo:

    https://github.com/stulzq/IdentityServer4.Samples/tree/master/Practice/05_Integration

  • 相关阅读:
    ValueError: max() arg is an empty sequence
    链接到镜像
    SparkStreaming+Kafka
    软件质量六大属性—
    架构之美3
    架构之美2
    架构之美-读书笔记之一
    机器学习四正则化(Regularization)
    机器学习三--各种差
    机器学习系列(二)——回归模型
  • 原文地址:https://www.cnblogs.com/stulzq/p/10346095.html
Copyright © 2011-2022 走看看