zoukankan      html  css  js  c++  java
  • IdentityServer4(三)

    1、新建空的asp.net core 项目

     目录结构

    2、添加 IdentityServer4 相关类库 

    3、添加Config类

     public static class Config
        {
            public static IEnumerable<IdentityResource> IdentityResources =>
                new IdentityResource[]
                {
                    new IdentityResources.OpenId()
                };
            public static IEnumerable<ApiScope> ApiScopes =>
            new ApiScope[]
            {
                    new ApiScope("scope1"),
                    new ApiScope("scope2"),
            };
    
            public static IEnumerable<Client> Clients =>
                new Client[]
                {
                    new Client
                    {
                        ClientId="myclient",
                        ClientSecrets=new []{new Secret("secret".Sha256()) },
                        AllowedGrantTypes=GrantTypes.ResourceOwnerPasswordAndClientCredentials,
                        AllowedScopes=new [] { "scope1" }
                    }
                };
    
            public static List<TestUser> TestUsers =>
                new List<TestUser>
                {
                    new TestUser
                    {
                        Username="pc",
                        Password="123",
                        SubjectId="1"
                    }
                };
    
        }

    4、修改Startup文件

     public void ConfigureServices(IServiceCollection services)
            {
                var builder = services.AddIdentityServer()
                   .AddTestUsers(Config.TestUsers)
                   .AddInMemoryApiScopes(Config.ApiScopes)
                   .AddInMemoryClients(Config.Clients);
    
                // not recommended for production - you need to store your key material somewhere secure
                builder.AddDeveloperSigningCredential();
    
                services.AddAuthentication();
            }
    
            // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
            public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
            {
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
    
                app.UseRouting();
    
    
                app.UseIdentityServer();
    
                app.UseEndpoints(endpoints =>
                {
                    endpoints.MapGet("/", async context =>
                    {
                        await context.Response.WriteAsync("Hello World!");
                    });
                });
            }

    5、启动程序

    6、Postman访问

  • 相关阅读:
    将才和帅才之的区别
    百胜集团XX:BPM实现业务流程全过程无缝链接(案例)
    心、肝、脾、肺、肾五脏解说+ 五脏六腑的作用
    人体的五行属性
    易经卦的通例
    《孙子兵法》中的企业领导艺术和方法
    五行盘谱
    大容量高并发性服务器组的技术解析
    中华哲学的领导艺术
    如何在WINDOW环境下搭建ActivateMQ和zookeeper集群环境
  • 原文地址:https://www.cnblogs.com/lhwpc/p/15040452.html
Copyright © 2011-2022 走看看