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

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使用信息授权访问他们的数据。

入门教程:.NET开源OpenID Connect 和OAuth解决方案IdentityServer v3 术语(二)的更多相关文章

  1. 入门教程:.NET开源OpenID Connect 和OAuth解决方案IdentityServer v3 介绍 (一)

    现代的应用程序看起来像这样: 典型的交互操作包括: 浏览器与 web 应用程序进行通信 Web 应用程序与 web Api (有时是在他们自己的有时代表用户) 通信 基于浏览器的应用程序与 web A ...

  2. 入门教程:.NET开源OpenID Connect 和OAuth解决方案IdentityServer v3 创建简单的OAuth2.0服务器,客户端和API(三)

    本教程的目的在于创造尽可能简单的identityserver安装作为一个oauth2授权服务器.这应该能够让你了解一些基本功能和配置选项(完整的源代码可以发现在这里).在后面的文档中会介绍更多的高级功 ...

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

    今天推荐的是我一直以来都在关注的一个开源的OpenID Connect/OAuth 2.0服务框架--IdentityServer3.其支持完整的OpenID Connect/OAuth 2.0标准, ...

  4. IdentityServer4 实现 OpenID Connect 和 OAuth 2.0

    关于 OAuth 2.0 的相关内容,点击查看:ASP.NET WebApi OWIN 实现 OAuth 2.0 OpenID 是一个去中心化的网上身份认证系统.对于支持 OpenID 的网站,用户不 ...

  5. IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证

    IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证 原文:http://docs.identityserver.io/en/releas ...

  6. OpenID Connect:OAuth 2.0协议之上的简单身份层

    OpenID Connect是什么?OpenID Connect(目前版本是1.0)是OAuth 2.0协议(可参考本人此篇:OAuth 2.0 / RCF6749 协议解读)之上的简单身份层,用 A ...

  7. Identity Server 4 预备知识 -- OpenID Connect 简介

    我之前的文章简单的介绍了OAuth 2.0 (在这里: https://www.cnblogs.com/cgzl/p/9221488.html), 还不是很全. 这篇文章我要介绍一下 OpenID C ...

  8. OpenID Connect Core 1.0(一)介绍

    IdentityServer4是基于OpenID Connect and OAuth 2.0框架,OpenID Connect Core 1.0是IdentityServer4最重要的文档 By 道法 ...

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

    现代的应用程序看起来像这样: 典型的交互操作包括: 浏览器与 web 应用程序进行通信 Web 应用程序与 web Api (有时是在他们自己的有时代表用户) 通信 基于浏览器的应用程序与 web A ...

随机推荐

  1. 巨蟒python全栈开发-第16天 核能来袭-初识面向对象

    一.今日内容总览(上帝视角,大象自己进冰箱,控制时机) #转换思想(从面向过程到面向对象) 1.初识面向对象 面向过程: 一切以事物的发展流程为中心. 面向对象: 一切以对象为中心,一切皆为对象,具体 ...

  2. AI篇6====>第一讲

    1.人工智能 小米:小爱 百度:AI云平台 科大讯飞AI平台 2.百度语音合成 # Author: studybrother sun from aip import AipSpeech #从文本到声音 ...

  3. CF 558 C. Amr and Chemistry 暴力+二进制

    链接:http://codeforces.com/problemset/problem/558/C C. Amr and Chemistry time limit per test 1 second ...

  4. Docker下载地址(官网实在太慢)

    官网因为大家都懂得各种原因,访问简直慢如狗. 找到一个网站,下载很快. 如下: https://oomake.com/download/docker-windows

  5. 011-JDK可视化监控工具-Jstat

    一.概述 Jstat 是JDK自带的一个轻量级小工具.全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JV ...

  6. Angular学习笔记—创建一个angular项目

    开始项目前,你需要先安装node和npm,然后执行npm install -g @angular/cli安装Angular CLI. 如何安装node.js和npm npm使用介绍 1.安装angul ...

  7. 一次rna-seq的过程-知乎live转

    数据分析流程 来自知乎孟浩巍的“快速入门生物信息学的”Live,超棒的~ 1.数据质控 首先是质控部分,使用fastqc进行对结果分析. 对于Illumia二代测序的结果质控包括两个方面,去掉测序质量 ...

  8. boost shared_ptr weak_ptr

    文档: http://www.boost.org/doc/libs/1_57_0/libs/smart_ptr/shared_ptr.htm shared_ptr构造有个原型 template< ...

  9. Python(函数式编程)

    函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. ...

  10. Rest_framework-3

    目录: 返回值的封装 分页 视图 路由 渲染器 一 返回值的封装 a. API的基本框架 setting: 1 首先注册rest_framework 2 版本配置 REST_FRAMEWORK = { ...