IdentityServer-Setup and Overview
设置和概述
有两种方式创建一个IdentityServer 项目:
- 从零开始
- 使用Visual Studio的ASP.NET Identity模板
如果是从零开始,我们提供一序列的帮助及内存存储,所以一开始不需要担心持久化问题。
如果是从ASP.NET Identity开始, 我们提供很方便的集成.
快速入门为各种identityserver使用场景提供一步一步的说明. 从最基本的到复杂的场景 - 建议安装顺序来学习.
每个快速入门都有一个对应的解决方案 - 可以在 IdentityServer4.Samples 的 quickstarts 文件夹内找到对应的源码.
基本设置
截图显示的是使用Visual Studio - 但这不是必须的.
创建一个IdentityServer快速入门
新建一个ASP.NET Core 项目.

选择 “Empty Web” 选项.

注意
IdentityServer 目前只支持 ASP.NET Core 1.1.
下一步, 添加 IdentityServer4 nuget 包:

也可以通过包管理控制台使用以下命令来添加依赖项:
“Install-Package IdentityServer4”
IdentityServer 使用通用的格式对ASP.NET Core host配置和添加服务. 在ConfigureServices 中将必要的服务配置和添加到依赖注入系统. 在 Configure 中将中间件添加到HTTP 管道.
修改 Startup.cs 文件:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddIdentityServer()
.AddTemporarySigningCredential();
}
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(LogLevel.Debug);
app.UseDeveloperExceptionPage();
app.UseIdentityServer();
}
}
AddIdentityServer 在 DI中注册IdentityServer 服务. 同时注册了一个运行时内存存储. 这对应开发场景是很有用的. 在实际生产场景中需要一个类似数据库的可持久化机制. 更多信息参考 EntityFramework 快速入门.
AddTemporarySigningCredential 扩展方法为每次启动创建一个临时的密钥. 同样是应用于开发, 需要在生产场景中替换成可持久化的. 更多信息参考 cryptography docs .
注意
IdentityServer 现在还不能启动. 事实上,如果启动, 会抛出服务缺失的异常. 我们将在下面的快速入门中添加这些服务.
修改hosting
Visual Studio 默认使用 IIS Express 来承载 web 项目. 这当然没问题, 但这样就不能再控制台看到实时日志输出了.
不论是针对UI的“可见“错误消息还是返回给客户的模糊处理消息.IdentityServer 对日志进行了很方便的扩展.
推荐使用控制台来承载 IdentityServer . 可以在 Visual Studio 切换配置. 也可以不用每次运行 IdentityServer都打开浏览器 - 同样可以关闭:

当切换到自动宿主, 服务器默认端口是5000. 可以通过上图配置, 也可以在 Program.cs 中编码 - 我们在快速入门中使用以下IdentityServer 宿主配置:
public class Program
{
public static void Main(string[] args)
{
Console.Title = "IdentityServer";
var host = new WebHostBuilder()
.UseKestrel()
.UseUrls("http://localhost:5000")
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.Build();
host.Run();
}
}
注意
建议在IIS Express 和self-hosting中使用相同的端口配置. 这样在两种方式切换的时候不需要改动客户端配置.
怎么运行快速入门
上面提到的每个快速入门都有一个对应的解决方案 - 可以在IdentityServer4.Samples 的quickstarts 文件夹中找到.
最方便的方法是 右键选择解决方案属性并选择“启动项目”.设置启动项目为 “当前选定内容”:

先启动IdentityServer, 然后启动 API, 最后是 client. 只有在需要调试的时候启动F5调试. 其他情况使用 Ctrl+F5 是运行项目的最佳方式.
IdentityServer-Setup and Overview的更多相关文章
- openstack setup demo Overview
Overview openstack是一套开源的云计算部署平台,通过一系列service提供IAAS.每一个service都提供API.具体的service列表如下: dashboard Horizo ...
- [转]Using MVC 6 And AngularJS 2 With .NET Core
本文转自:http://www.c-sharpcorner.com/article/using-mvc-6-and-angularjs-2-with-net-core/ CoreMVCAngular2 ...
- Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology
转自:http://www.mdpi.com/1424-8220/12/9/11734/htm Sensors 2012, 12(9), 11734-11753; doi:10.3390/s12091 ...
- FIM 2010: Kerberos Authentication Setup
The goal of this article is to provide some background information regarding the Kerberos related co ...
- How to Setup Replicated LevelDB Persistence in Apache ActiveMQ 5.9--转载
原文地址:https://simplesassim.wordpress.com/2013/11/03/how-to-setup-replicated-leveldb-persistence-in-ap ...
- Overview & Change Log
Overview & Change Log Nova Framework is a PHP 5.5+ MVC Framework. It's designed to be lightweigh ...
- HOWTO: Setup XCode 6.1 to work with OpenCV3 libraries
HOWTO: Setup XCode 6.1 to work with OpenCV3 libraries Overview This post demonstrates how to setup y ...
- WSL(Windows Subsystem for Linux)--Pico Process Overview
[转载] Windows Subsystem for Linux -- Pico Process Overview Overview This post discusses pico processe ...
- Overview of .rdp file settings
On this page you will find an overview of most of the available .rdp file settings which can be used ...
- BuildTools Overview
SCons Pros: Based on a full-fledged programming language, Python. This means you can make the build ...
随机推荐
- VIP之FrameBuffer
2.VIP Frame Buffer 1.原来我是一直存在一个疑惑,demo上说VIP Frame Buffer输出是固定的60fps,但是在NiosII的程序中我没有找到设置输出为60fps的设置 ...
- tomcat部署项目访问不加项目名方法
直接主题:tomcat部署项目访问不加项目名方法是打开tomcat的conf目录下server.xml文件 加入 <Context path="" docBase=" ...
- web-day12
第12章WEB12-JSP&EL&JSTL篇 今日任务 商品信息的显示 教学导航 教学目标 掌握JSP的基本的使用 掌握EL的表达式的用法 掌握JSTL的常用标签的使用 教学方法 案例 ...
- STL容器(C11)--unordered_set用法
http://www.cplusplus.com/reference/unordered_set/
- poj 2488 A Knight's Journey
题目 题意:给出一个国际棋盘的大小 p*q,判断马能否不重复的走过所有格,并记录下其中按字典序排列的第一种路径. 因为要求字典序输出最小,所以按下图是搜索的次序搜素出来的就是最小的. 初始方向数组:i ...
- 创建Pods私有库
Pods私有库创建步骤 创建私有 Spec Repo 创建Pod项目工程文件 创建podspec文件 本地测试podsspec文件 向Spec Repo提交podspec Pod库使用 更新维护pos ...
- poj 3321 单点更新 区间求和
Apple Tree Time Limit: 2000 MS Memory Limit: 65536 KB 64-bit integer IO format: %I64d , %I64u Java c ...
- 4.动态HTML处理和机器图像识别
Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上, ...
- 利用 TFLearn 快速搭建经典深度学习模型
利用 TFLearn 快速搭建经典深度学习模型 使用 TensorFlow 一个最大的好处是可以用各种运算符(Ops)灵活构建计算图,同时可以支持自定义运算符(见本公众号早期文章<Tenso ...
- Page_Load是怎样被执行的
关于Asp.Net的生命周期的文章,很多很多,不管是管道生命周期,还是页面生命周期,图文并茂的文章并不少,我就不说了,我只是在复习这些知识点的时候,想具体知道一个页面的Page_Load方法到底是怎么 ...