下面就来做一个例子: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 等等再实际项目中的运用