首页 > 其他 > 详细

IdentityServer4 源码介绍

时间:2020-06-20 13:29:40      阅读:83      评论:0      收藏:0      [点我收藏+]

IdentityServer4 源码介绍

IdentityServer4 项目托管在 github上,Releases 下载地址:https://github.com/IdentityServer/IdentityServer4/releases

技术分享图片

 

7小时前,发布了 4.0 版本,就以这个版本为例,这里我选择下载 zip 包

技术分享图片

解压,根据 GitHub 上的说明先编译一下

技术分享图片 

装好 sdk,git,在解压的项目根目录运行 build.ps1 或者 build.sh 即可。

主要关注2个文件夹,一个是例子 samples,一个是源码 src

技术分享图片

 

 

 src 目录下,有以下几个文件夹

技术分享图片

samples 下有以下几个文件夹

技术分享图片

 

 

结合 IdentityServer4 的官方文档来说说吧

首先这是文档地址:https://identityserver4.readthedocs.io/en/latest/

技术分享图片

 

 

 INTRODUCTION 这块主要是一些理论的东西,直接看完可能一头雾水,所以有个大概的了解之后,还是动手写下代码,就比较能理解它是什么了。

技术分享图片

 

 

跟着 QUICKSTARTS 动手写一写,很快就能理解 IdentityServer 是什么,要怎么用。了解各 grant type,知道怎么修改 config 文件,怎么配置 api,客户端怎么认证基本就ok了。

这块都是一些简单的入门例子,代码在 samples\Quickstarts

第一个例子:1_ClientCredentials 主要介绍使用 ClientCredentials 类型的认证方式。 

// no interactive user, use the clientid/secret for authentication
AllowedGrantTypes = GrantTypes.ClientCredentials,

第二个例子:2_InteractiveAspNetCore 主要介绍使用 Code 类型的认证方式,这个应该是最复杂、最核心的方式。

技术分享图片

 

 

 第三个例子 3_AspNetCoreAndApis ,也是 Code 类型,增加了使用 refresh token 这个东西。

技术分享图片

 

 

第四个例子 4_JavaScriptClient,也还是 Code 类型,主要是换成了 js 客户端 

第五个例子 5_EntityFramework ,前面的几个例子 IdentityServer 的数据都是存在内存中,这里使用 ef core 存储到数据库中

技术分享图片

 

 

 这里可以看到 configuration 数据和 Operational 数据使用 sqlserver 来存储,但是用户信息仍使用内存的 TestUser。

第六个例子 6_AspNetIdentity

不使用内存的用户信息,使用 aspnet core Identity 来管理用户,

技术分享图片

 

 

例子与源码结合,

技术分享图片

 

IdentityServer4 就是 IdentityServer4 的源码;

AspNetIdentity 就是例子6中 asp net core identity 管理用户的源码

例子5中使用 ef core 做持久化的源码就是剩下几个,先是 EntityFramework 然后又依赖 EntityFramework.Storage 最后依赖 Storage。

 

IdentityServer4 源码介绍

原文:https://www.cnblogs.com/ylka/p/13167908.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!