设置和概述

启动新IdentityServer项目有两种基本方法:

如果您从头开始,我们提供了几个帮助程序和内存存储,因此您不必担心从一开始就存在持久性。

如果您从ASP.NET身份开始,我们也提供了一种简单的方法来集成它。

快速入门提供了各种常见IdentityServer方案的分步说明。他们从绝对的基础开始,变得更加复杂 - 建议你按顺序完成它们。

每个快速入门都有一个参考解决方案 - 您可以 在quickstarts文件夹中的IdentityServer4.Samples仓库中找到代码 

基本设置

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

创建快速入门IdentityServer

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

../_images/0_new_web_project.png

然后选择“清空”选项。

../_images/0_empty_web.png

接下来,添加IdentityServer4 nuget包:

../_images/0_nuget.png

或者,您可以使用程序包管理器控制台通过运行以下命令来添加依赖项:

“安装包IdentityServer4”

注意

IdentityServer构建编号1.x目标ASP.NET Core 1.1,IdentityServer构建编号2.x目标ASP.NET Core 2.0。

IdentityServer使用通常的模式为ASP.NET Core主机配置和添加服务。ConfigureServices所需的服务中配置并添加到DI系统。Configure中间件中添加到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服务。它还为运行时状态注册内存存储。这对于开发方案很有用。对于生产方案,您需要一个持久性或共享存储,如数据库或缓存。有关详细信息,请参阅EntityFramework快速入门。

AddDeveloperSigningCredential扩展程序为签名令牌创建临时密钥材料。同样,这可能对入门有用,但需要替换为生产场景的一些持久性密钥材料。有关更多信息,请参阅加密文档

注意

IdentityServer尚未准备好启动。我们将在以下快速入门中添加所需的服务。

修改主机

默认情况下,Visual Studio使用IIS Express来托管您的Web项目。这完全没问题,除了您将无法看到控制台的实时日志输出。

IdentityServer广泛使用日志记录,而UI中的“可见”错误消息或返回给客户端是故意模糊的。

我们建议在控制台主机中运行IdentityServer。您可以通过在Visual Studio中切换启动配置文件来完成此操作。每次启动IdentityServer时也不需要启动浏览器 - 您也可以关闭它:

../_images/0_launch_profile.png

此外,在这些快速入门的一致URL上运行IdentityServer会很有帮助。您还应该在上面的启动配置文件对话框中配置此URL,然后使用http://localhost:5000/在上面的屏幕截图中,您可以看到此URL已配置。

注意

我们建议为IIS Express和自托管配置相同的端口。这样,您可以在两者之间切换,而无需修改客户端中的任何配置。

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

../_images/0_choose_launch.png

如何运行快速入门

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

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

../_images/0_startup_mode.png

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

nidie.com.cn - 用心与你沟通