Fork me on GitHub

一步一步学习IdentityServer3 (2)

下面就来做一个例子:IdentityServer3服务端的配置

VS2015创建一个MVC项目 IdrOAuth 用来授权的认证的站点

项目建立好了

这里需要添加几个Nuget包,右键我们的项目

添加相关Nuget包

IdentityServer3;

Microsoft.Owin.Host.SystemWeb;

添加 Startup 文件 如我的: LYMStartup在 IAppBuilder 中配置identityserver3

如:

 app.Map("/lym", lymapp =>
            {
              
                var factory = new IdentityServerServiceFactory()
                .UseInMemoryClients(Clients.Get())
                .UseInMemoryScopes(Scopes.Get())
                .UserInMemoryUsers(Users.Get()) ;     

           lymapp.UseIdentityServer(new IdentityServer3.Core.Configuration.IdentityServerOptions
                {
                    SiteName = "SSO授权验证站点",
                    //EnableWelcomePage = true,
                    SigningCertificate = Certificate.Get(),
                    Factory = factory,
                    RequireSsl = false
});

});   

  

配置好了路由地址,设置IdentityServer配置,这里我是关闭了SSL,一般是开启启用 使用https访问

这里没配置项很多,每个的意思不做特别说明

上述代码中所有的Users  Scopes  Clients 都是放到缓存中 但是实际业务我们不会这么放,这个后面的文章会一步一步介绍

.UseInMemoryClients(Clients.Get())
 .UseInMemoryScopes(Scopes.Get())
 .UserInMemoryUsers(Users.Get()) ;
这些配置好相关数据,实际可以参考官方文档,基础的就不多纠结了
还需要在webconfig设置 <modules runAllManagedModulesForAllRequests="true">不然 identityserver3资源文件不能加载
这样一个简单的IdrServer就配置好了 访问 调试或者部署 访问网站/lym 就可以看到界面了 如何可以浏览,那么第一步就算成功了

后面的文章继续一步一步介绍 各种模式 openid +cookies 客户端模式  密码模式 授权码模式 以及 自定义登陆界面,自定义用户服务调用自己的数据库中的用户名密码授权,以及EF数据对idrserver的数据持久化 以及授权api 等等再实际项目中的运用 


posted @ 2017-06-23 15:44  龙码精神  阅读(1773)  评论(2编辑  收藏  举报