启动和概览

有两种基本的方式来启动一个新的 IdentityServer 项目:

  • 从空项目开始(从头开始)
  • 从 Visual Studio 的 ASP.NET Identity 模板开始

假如您从头开始,不要担心所有的东西都需要从头弄起,因为我们提供了一些帮助和内存存储方法。

假如您从 ASP.NET Identity 模板开始,我们也提供了一种简单的方法来集成它。

quickstarts 为各种常见的 IdentityServer 使用场景提供了说明,它们绝对是从基础开始,如果要变得更复杂 - 建议您一步一步来。

每个 quickstart 都有一个参考的解决方案 - 您可以在 quickstarts 文件夹的 IdentityServer4.Samples repo 找到参考代码。

从头开始

Visual Studio 的屏幕截图 - 但这不是必需的。

新建一个快速启动 IdentityServer

首先创建一个 ASP.NET Core 项目。

然后选择 "Empty" 模板选项。

下一步,在 nuget 把 IdentityServer4 软件包添加到项目:

当然你也可以通过控制台程序,运行下面的命令来把依赖添加到项目中:

"Install-Package IdentityServer4"

Note

ASP.NET Core 1.1 添加版本为 1.x 的 IdentityServer,ASP.NET Core 2.0 添加版本为 2.x 的 IdentityServer。

IdentityServer 通常是通过配置来把 services 附加到 ASP.NET Core 主机(host)的。 在 ConfigureServices 中配置请求服务(required services)且把其注册到 DI 系统。 在 Configure 中配置中间件(middleware),使其附加到 HTTP 管道。

修改你的 Startup.cs 文件,让它和下面一样:

public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddIdentityServer()
.AddDeveloperSigningCredential();
} public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
} app.UseIdentityServer();
}
}

AddIdentityServer 在 DI 中注册 IdentityServer 服务。 它还为运行时状态注册了一个内存存储。这在开发场景很有用。对于生产场景,您需要持久存储或共享存储,如数据库或缓存。 更多入门信息,请查看 :ref:`EntityFramework <refEntityFrameworkQuickstart>` 。

AddDeveloperSigningCredential 一般用于开发环境创建临时登录令牌。对于生产场景,需要持久化一些重要令牌,这个必须要被换掉。更多信息,请查看:ref:cryptography docs <refCrypto> 。

Note

IdentityServer 到这里还不能被启动。接下来我们将添加请求服务。

修改 hosting

默认情况下,Visual Studio使用IIS Express来托管您的Web项目。这样的话,您除了无法看到实时输出到控制台的日志,其他都很好。

IdentityServer 全部使用日志记录,而在 UI 或返回给客户端中 "可见" 的错误消息是故意简化的。

我们建议在控制台中运行 IdentityServer。 您可以在 Visual Studio 中切换启动配置文件来完成设置。每次启动的时候不需要启动浏览器-因此您可以关闭此功能:

此外,在快速入门中使用了约定的 URL,这对运行 IdentityServer 非常有帮助。 您可以在上面的 launch profile 对话框中配置这个 URL,并使用 http://localhost:5000/。在上面的屏幕截图中,您可以看到已配置的 URL。

要在启动时选择控制台托管,必须在 Visual Studio 的启动菜单中选择它:

如何运行快速入门(quickstart)项目

如上所述,每个 quickstart 都有一个参考的解决方案 - 您可以在 quickstarts 文件夹的 IdentityServer4.Samples repo 找到参考代码。

运行快速启动解决方案的各个部分的最简单方法是将“当前项目”设置为启动项。 右键点击解决方案并选择 "设置启动项目":

通常,您首先启动IdentityServer,然后启动API,然后启动客户端。 如果你真的想调试,只能在调试器中运行。 否则,Ctrl + F5是运行项目的最佳方式。

原文地址:https://github.com/ganqiyin/IdentityServer4/blob/dev/docs_cn/quickstarts/0_overview.rst

【IdentityServer4文档】- 启动和概览的更多相关文章

  1. 【IdentityServer4文档】- 使用客户端凭据保护 API

    使用客户端凭据保护 API quickstart 介绍了使用 IdentityServer 保护 API 的最基本场景. 接下来的场景,我们将定义一个 API 和一个想要访问它的客户端. 客户端将在 ...

  2. 【IdentityServer4文档】- 术语&演示服务器和测试

    术语 你需要了解一下,规范.文档和对象模型使用的术语有哪些. IdentityServer IdentityServer 是一个 OpenID Connect 提供程序 - 它实现了 OpenID C ...

  3. 【IdentityServer4文档】- 贡献

    贡献 我们非常乐于接受社区贡献,但您应遵循一些指导原则,以便我们可以很方便的解决这个问题. 如何贡献? 最简单的方法是打开一个问题并开始讨论.然后,我们可以决定如何实现一个特性或一个变更.如果您即将提 ...

  4. 【IdentityServer4文档】- 使用密码保护 API

    使用密码保护 API OAuth 2.0 协议允许资源拥有者给客户端密码授权:客户端向令牌服务发送用户密码,以获取代表该用户的访问令牌. 该规范建议仅将“资源所有者密码授予”用于“可信”(或旧版)应用 ...

  5. 【IdentityServer4文档】- 支持和咨询选项

    支持和咨询选项 我们为 IdentityServer 提供多个免费和商业支持及咨询选项. 免费支持 免费支持是基于社区的,而且使用的是公共论坛 StackOverflow 有越来越多的使用 Ident ...

  6. 【IdentityServer4文档】- 支持协议

    IdentityServer 实现了以下协议: OpenID Connect OpenID Connect Core 1.0 (spec) OpenID Connect Discovery 1.0 ( ...

  7. 【IdentityServer4文档】- 打包和构建

    打包和构建 IdentityServer 由多个 nuget 软件包组成的. IdentityServer4 nuget | github 包含 IdentityServer 核心对象模型,服务和中间 ...

  8. 【IdentityServer4文档】- 整体情况

    整体概况 大多数现代应用程序看起来或多或少像这样: 最常见的交互是: 浏览器与 Web 应用程序进行通信 Web 应用程序与 Web API 进行通信(有时是Web应用程序自己发起,有时代表用户发起) ...

  9. 【IdentityServer4文档】- 欢迎来到 IdentityServer4

    欢迎来到 IdentityServer4 IdentityServer4 是一款包含和实现了 OpenID Connect 和 OAuth 2.0 协议的,适用于 ASP.NET Core 的框架 . ...

随机推荐

  1. php以数组做为配置文件的读取和写入操作

    最近想用php开发个简单的文章管理系统,主要是做一批垃圾采集站,目前网上的cms都太多功能了,导致修改个模板要很多文件,花费很多功夫.开始用thinkphp框架做,感觉还是麻烦,后来改用ci,做好了后 ...

  2. PhpStorm 克隆下来的项目改动,版本控制不起效果

    打开的目录 —>多个 git项目—>版本控制无法监控. 打开的目录 —>一个 git项目—>版本控制可以监控.

  3. C++11 initializer_list 和 Range-based for loop 学习理解

    win10 + vs2017 源码如下: int main() { vector< int > numbers = { 1, 2, 3, 4, 5 }; for (auto num : n ...

  4. structc 开源框架简介

    了解 structc-https://github.com/wangzhione/structc structc 是 C 构建基础项目框架. 不是太惊艳, 但绝对是 C 简单项目中一股清流. 它的前身 ...

  5. 3x3开窗中值滤波器的FPGA硬件实现

    数字逻辑课程的自由设计中,我编写了一个3x3开窗的中值滤波器,处理一副128*128像素值的图像,并且最终可以在FPGA上板实现. 中值滤波的本质就是对于一个n*n的窗口,将其内部的值进行排序,取中位 ...

  6. 20155210 潘滢昊 Java第三次实验

    Java第三次实验 实验内容 在IDEA中使用工具(Code->Reformate Code)把代码重新格式化 在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二 ...

  7. 20155318 《Java程序设计》实验二 (Java面向对象程序设计)实验报告

    20155318 <Java程序设计>实验二 (Java面向对象程序设计)实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉 ...

  8. 20145226夏艺华 《Java程序设计》预备作业3

    安装虚拟机 上学期开学的时候就安装了Linux虚拟机,由于我的是Mac OS,所以和windows下的安装有所不同. 我使用的是VirtualBoxVM虚拟机,稳定性还不错,需要的同学可以从https ...

  9. C# JSON和对象之间互相转换

    1.首先是声明用户信息对象,DataContract修饰类,表示可以被解析成JSON,DataMember修饰属性,Order表示 解析的顺序,另外Lover是数组列表,表示女朋友个数 Address ...

  10. 人脸识别引擎SeetaFaceEngine中Identification模块使用的测试代码

    人脸识别引擎SeetaFaceEngine中Identification模块用于比较两幅人脸图像的相似度,以下是测试代码: int test_recognize() { const std::stri ...