博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET Core的身份认证框架IdentityServer4(6)- 开始
阅读量:6507 次
发布时间:2019-06-24

本文共 2031 字,大约阅读时间需要 6 分钟。

安装和概述

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

  • 从头开始
  • 从Visual Studio中的ASP.NET身份模板开始

如果从头开始,我们提供了一些文档、项目帮助和内存存储支持,所以你从一开始就不必担心持久化。

如果您从ASP.NET Identity开始,我们提供了一种简单的方法来整合。

quickstart为各种常见的身份服务器场景提供了一步一步的指导。 他们从绝对的从基础开始,然后变得更加复杂 , 建议您按顺序进行操作。

每个quickstart都有一个参考解决方案 , 您可以在quickstarts文件夹中的中找到代码。

基本安装

创建并且启动IdentityServer。

创建一个新的ASP.NET项目

668104-20170908111637913-1481248168.png

然后选择空项目

668104-20170908154133179-2032951875.png

接下来通过nuget添加IdentityServer4的包

668104-20170908154149976-2081480307.png

你也可以通过程序包管理控制台执行以下命令:

Install-Package IdentityServer4

IdentityServer使用通常的模式来配置和添加服务到ASP.NET Core Host

ConfigureServices中,所有必须的服务被配置并且添加到依赖注入系统中。

Configure中,中间件被添加到HTTP管道中。

修改你的Startup.cs

public class Startup{    public void ConfigureServices(IServiceCollection services)    {        services.AddIdentityServer()            .AddDeveloperSigningCredential();    }    public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)    {        loggerFactory.AddConsole(LogLevel.Debug);        app.UseDeveloperExceptionPage();        app.UseIdentityServer();    }}

AddIdentityServer方法在依赖注入系统中注册IdentityServer,它还会注册一个基于内存存储的运行时状态,这对于开发场景非常有用,对于生产场景,您需要一个持久化或共享存储,如数据库或缓存。请查看使用实现的存储。

AddDeveloperSigningCredential(1.1为AddTemporarySigningCredential)扩展在每次启动时,为令牌签名创建了一个临时密钥。在生成环境需要一个持久化的密钥。

修改hosting

默认情况下,Visual Studio使用IIS Express来托管您的Web项目。 这是非常好的,除了你将无法看到实时日志输出到控制台。

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

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

668104-20170908114252663-1847730080.png

当您切换到self-hosting时,Web服务器端口默认为5000.您可以在上面的启动配置文件对话框中配置,也可以在Program.cs中进行配置,我们在quickstart中为IdentityServer Host使用以下配置:

public static void Main(string[] args){    BuildWebHost(args).Run();}public static IWebHost BuildWebHost(string[] args) =>    WebHost.CreateDefaultBuilder(args)        .UseStartup
() .Build();

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

做到这一步,你会发现并不能运行。这边文章很基础,只是说明如何建立一个是使用IdentityServer4的项目,第一个可以运行的IdentityServer4项目请看我下篇文章。

所有的Demo都会根据官方的QuickStart项目来,但是官方的QiuckStart都是.net core 1.1的比较老了,我使用的是.net core 2.0,IdentityServer4是用的是目前支持.net core 2.0最新版本,所有Demo都放在了github ,大家可以给我来个star

转载地址:http://ftwfo.baihongyu.com/

你可能感兴趣的文章
IntelliJ Idea下Go项目开启Debug调试
查看>>
elasticsearch安装步骤
查看>>
PHP获取Cookie模拟登录CURL(转)
查看>>
PHP-权限控制类(转)
查看>>
CSS3秘笈第三版涵盖HTML5学习笔记9~12章
查看>>
bzoj1044木棍分割
查看>>
leetcode-136-Single Number
查看>>
微信小程序笔记<五> 页面管理及生命周期(route)——getCurrentPages()
查看>>
http服务器小项目
查看>>
JS案例:Jq中的fadeOut和fadeIn实现简单轮播(没完善,简单实现)
查看>>
一些数学上的名词及操作
查看>>
C# DataGridVie利用model特性动态加载列
查看>>
IPv6 地址分类
查看>>
<%@ include %>指令和<jsp:include>区别
查看>>
因为文件组 'PRIMARY' 已满 解决办法
查看>>
Flume 读取实时更新的日志文件
查看>>
HDU 2049
查看>>
《Spring1之第十次站立会议》
查看>>
Unity Shader 噪声消融特效 - 剑灵死亡特效
查看>>
Eclipse 自动生成 Ant的Build.xml 配置文件
查看>>