.NET开源OpenID和OAuth解决方案Thinktecture IdentityServer (二)

你应该知道的在文档和对象模型中使用一些特定的术语:

OpenID Connect Provider (OP) 授权服务器

Thinktecture IdentityServer v3 是一个.NET 平台上开源的OpenID Connect 提供者 和 OAuth2 验证服务器,OpenID Connect Provider在不同的著作中有不同的说法,你可能发现有的叫安全令牌服务提供商,授权服务器,ip-sts和更多。

简单来说他们的共同点:为客户端提供一块安全令牌的软件。

IdentityServer有许多职责和功能包括:

  • 认证用户使用本地帐户存储或通过外部标识提供者
  • 提供会话管理和单点登录
  • 管理client和client授权
  • 为客户端颁发access token  
  • 验证token

客户端

客户端是请求访问IdentityServer或身份令牌的软件。客户端可以是不同类型的应用:桌面或移动的,基于浏览器的或基于服务器的应用。

无论客户端是用于用户认证还是访问资源客户端都必须在授权服务器中注册。

用户

用户是使用一个注册的客户端访问自己的数据的人。

作用域

作用域是一个客户端要访问的资源标识符。在一个认证过程或者获取Token的时候需要把作用域附加在请求中。

默认情况下,每个客户端可以在任何作用域请求令牌,但是你可以限制。

作用域分为2种:

身份作用域

请求一个用户的身份信息(又叫做claims),他的名字或电子邮件地址被视为一个scope的OpenID connect。例如一个叫“profile”的scope包括名字、姓氏、首选用户名,性别,照片和更多。你点击这里可以阅读有关作用域信息

并且你可以在identityserver模型中按你自己的要求创建自己的范围。

资源作用域

Resource scopes 通常是 Web API的标识符 (也叫做资源服务器)。例如你可以创建一个名为“calendar”的resource scope 用来标识你的calendar API。

认证/令牌请求

客户端请根据作用域从授权服务器请求令牌,授权服务器将返回一个身份令牌(identity token),一个访问令牌(access token),或两者都返回。

身份令牌(identity token)

一个身份令牌代表一个认证过程的结果。它包含在用户的最低标识符(sub claim)。通过授权后它可以包含详细的用户附加信息。

访问令牌(access token)  

一个访问令牌允许访问一个资源。客户端请求访问令牌转发他们的API。访问令牌包含客户端和用户信息(如果存在的话)。API使用信息授权访问他们的数据。

时间: 2024-10-21 09:03:13

.NET开源OpenID和OAuth解决方案Thinktecture IdentityServer (二)的相关文章

.NET开源OpenID和OAuth解决方案Thinktecture IdentityServer

OpenID解决跨站点的认证问题,OAuth解决跨站点的授权问题.认证和授权是密不可分的.而OpenID和OAuth这两套协议出自两个不同的组织,协议上有相似和重合的之处,所以想将二者整合有些难度.好在OpenID Connect作为OpenID的下一版本,在OAuth 2.0的协议基础上进行扩展,很好的解决了认证和授权的统一,给开发者带来的便利.Thinktecture IdentityServer v3 是一个.NET 平台上开源的OpenID Connect 提供者 和 OAuth2 验证

.NET开源OpenID和OAuth解决方案Thinktecture IdentityServer (一)

现代的应用程序看起来像这样: 典型的交互操作包括: 浏览器与 web 应用程序进行通信 Web 应用程序与 web Api (有时是在他们自己的有时代表用户) 通信 基于浏览器的应用程序与 web Api 通信 本机应用程序与 web Api 通信 基于服务器的应用程序与 web Api 通信 Web Api 和 web Api 交互(有时是在他们自己有时也代表用户) 通常(前端,中间层和后端)的每一层有保护资源和执行身份验证和授权的需求 —— 典型的情况是针对同一用户存储.这就是为什么业务应用

一个功能完备的.NET开源OpenID Connect/OAuth 2.0框架——IdentityServer3

今天推荐的是我一直以来都在关注的一个开源的OpenID Connect/OAuth 2.0服务框架--IdentityServer3.其支持完整的OpenID Connect/OAuth 2.0标准,使用它就可以轻易地搭建一个单点登录服务器. 说是一直关注,是因为1年前,要为一个平台搭建一个OAuth 2.0服务器,当时由于IdentityServer3还处于开发阶段,核心还不稳定,扩展功能也不完备.无奈只好熟读OAuth 2.0的规范,并根据www.asp.net网站上的一个简单示例自己实现了

IdentityServer3——入门教程:.NET开源OpenID Connect 和OAuth解决方案IdentityServer v3 术语

你应该知道的在文档和对象模型中使用一些特定的术语: OpenID Connect Provider (OP) 授权服务器 Thinktecture IdentityServer v3 是一个.NET 平台上开源的OpenID Connect 提供者 和 OAuth2 验证服务器,OpenID Connect Provider在不同的著作中有不同的说法,你可能发现有的叫安全令牌服务提供商,授权服务器,ip-sts和更多. 简单来说他们的共同点:为客户端提供一块安全令牌的软件. IdentitySe

IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API

IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.NET Core Web API 访问. IdentityServer4 GitHub: https://github.com/IdentityServer/IdentityServer4 IdentityServer 框架支持以下功能: 身份验证服务所有应用程序(Web,本机,移动,服务)的集中登录

【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的

G.系列导航 [G]开源的分布式部署解决方案 - 预告篇 [G]开源的分布式部署解决方案(一) - 开篇 [G]开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的 分析目前项目结构 眼前出现这么一坨坨的文件夹,相信很多人已经看不下去了.是的,首先就是要把它给做掉. 按照这个项目文件夹的命名意图,大概可以划分如下: 1.Business:业务代码 2.Data:数据访问 3.Helpers:辅助类(通用类库之类的) 4.Models:各种模型(包括视图模型) 5.theme:皮肤

【G】开源的分布式部署解决方案(三) - 一期规划定稿与初步剖析

G.系列导航 [G]开源的分布式部署解决方案 - 预告篇 [G]开源的分布式部署解决方案(一) - 开篇 [G]开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的 [G]开源的分布式部署解决方案(三) - 一期规划定稿与初步剖析 抱歉 首先我先说声抱歉,因为上一篇结尾预告第三篇本该是“部署项目管理”,那为什么变成本篇呢? 请容我解释一下,在预告篇到现在为止,经常会有人问我这个项目到底是干什么的.或许之前写的比较粗糙.那我相信目前定稿后的功能概览图应该会给大家一个比较清晰的认识.

RHEV--基于开源的企业级虚拟化解决方案

本文主要介绍Red Hat基于开源的企业级虚拟化解决方案RHEV.RHEV虽然是开源虚拟化解决方案,但是其易用性,可维护性是很高的.文中笔者通过与vSphere的架构进行对比介绍,以便使读者更好地进行理解.声明:本文不代表任何厂商官方观点,文中的测试数据,仅用于参考使用. 从虚拟化市场谈起 谈到虚拟化,大多数人第一时间想到的是vSphere,毋庸置疑.目前为止,vSphere在虚拟化市场,无论是份额,还是影响力,都是最大的. 随着开源的兴起,开源虚拟化解决方案也受到越来越多客户的注意.根据201

【G】开源的分布式部署解决方案文档 - Web Deploy

G.系列导航 [G]开源的分布式部署解决方案 - 导航 微软官方部署方式 右键项目->发布 这个大家应该再熟悉不过,在部署前有个预览界面可以看本次更新到底更新哪些文件. 既然它可以预览部署结果,那其实它部署也不会完全覆盖,而是采取部分覆盖的方式,并提供了增.删.改的实际数量. 这都要依赖一个叫做 Web Deploy 的项目. 传送门 当然,web deploy功能绝不仅仅如此,包括打包.备份.还原.更新数据库等. 在此不多做普及,提到了它的优点,自然要支持它.所以本项目支持原始+Web Dep