使用客户端认证控制API访问(客户端授权模式) 场景描述 使用IdentityServer保护API的最基本场景. 我们定义一个API和要访问API的客户端.客户端从IdentityServer请求AccessToken,然后访问对应的API. 创建项目 IdentityServer的ASP.NET Core Web空项目,端口5000 Api的ASP.NET Core Web API项目,端口5001 Client的控制台项目 IdentityServer准备工作 定义API资源 定义客户端…
一.前言 本文已更新到 .NET Core 2.2 本文包括后续的Demo都会放在github:https://github.com/stulzq/IdentityServer4.Samples (QuickStart的几个Demo随着本系列的更新,目前为从官方Demo仓库的拷贝,防止本文和Demo不匹配,因为官方Demo和文档一直在更新,本系列更新速度可能会慢一步). 这里特别说明一下:快速入门以及Topic系列为了保持到最新,目前几乎都是翻译的官方文档(以往的不适合最新版本就换掉了),需要深…
前言 今天(2017-9-8,写于9.8,今天才发布)一口气连续把最后几篇IdentityServer4相关理论全部翻译完了,终于可以进入写代码的过程了,比较累.目前官方的文档和Demo以及一些相关组件全部是.net core 1.1的,应该是因为目前IdentityServer4目前最新版本只是2.0.0 rc1的原因,官方文档和Demo还没来更新.我准备使用的是.net core 2.0 所支持的IdentityServer4 2.0.0,官方文档及Demo只能参考,因为在asp.net c…
API访问客户端(WebApiClient适用于MVC/WebForms/WinForm) 这几天没更新主要是因为没有一款合适的后端框架来支持我们的Web API项目Demo, 所以耽误了几天, 目前最新的代码已经通过Sqlite + NHibernate + Autofac满足了我们基本的Demo需求. 按照既定的要求,我们的API会提供给众多的客户端使用, 这些客户端可以是各种Web站点, APP, 或者是WinForm, WPF, Silverlight等诸如此类的应用,将来还有可能是各种…
项目源码: 链接:https://pan.baidu.com/s/1H3Y0ct8xgfVkgq4XsniqFA 提取码:nzl3 一.说明 我们将定义一个api和要访问它的客户端,客户端将在identityser上请求访问令牌,并使用访问令牌调用api 二.项目结构与准备 1.创建项目QuickStartIdentityServer4的asp.net 3.1项目,端口号5001,NuGet: IdentityServer4 2.创建项目API的asp.net 3.1项目,端口号5000,NuG…
内容:本文带大家使用IdentityServer4进行对API授权保护的基本策略 作者:zara(张子浩) 欢迎分享,但需在文章鲜明处留下原文地址. 本文将要讲述如何使用IdentityServer4对API授权保护以及如何携带Token进行访问受保护的API,通过HttpClient或Http请求中的body这些我们都可以达到.那么废话不多说,开始吧~ 首先我们一定要知道,我们访问要访问一个受安全限制的API的锁子是在一个专门的IdentityServer4验证服务器.所以呢,我们需要创建一个…
前言 本文及IdentityServer这个系列使用的都是基于.net core 2.0的.上一篇博文在API项目中我使用了icrosoft.AspNetCore.Authentication.JwtBearer组件来代替IdentityServer4.AccessTokenValidation组件,今天(2017-9-12)我发现后者已经更新到了2.0.0,支持.net core 2.0,所以现在所使用的组件已经更新为后者,在代码里我有详细注释. 资源所有者密码授权 OAuth 2.0 资源所…
一.前言 本文已经更新到 .NET Core 2.2 OAuth 2.0 资源所有者密码模式允许客户端向令牌服务发送用户名和密码,并获取代表该用户的访问令牌. 除了通过无法浏览器进行交互的应用程序之外,通常建议不要使用资源所有者密码模式. 一般来说,当您要对用户进行身份验证并请求访问令牌时,使用其中一个交互式 OpenID Connect 流程通常要好得多. 在这里使用这种模式是为了学习如何快速在 IdentityServer 中使用它, 二.添加用户 就像API资源(也称为 Scope).客户…
这几天没更新主要是因为没有一款合适的后端框架来支持我们的Web API项目Demo, 所以耽误了几天, 目前最新的代码已经通过Sqlite + NHibernate + Autofac满足了我们基本的Demo需求. 按照既定的要求,我们的API会提供给众多的客户端使用, 这些客户端可以是各种Web站点, APP, 或者是WinForm, WPF, Silverlight等诸如此类的应用,将来还有可能是各种Iot等物联网设备的应用,Restful API凭借其诸多优势,已经在移动互联网的时代火了一…
基于上一篇文章中的代码进行继续延伸,只需要小小的改动即可,不明白的地方可以先看看本人上一篇文章及源码: Identity Server 4客户端认证控制访问API 一.QuickStartIdentityServer4项目中Config.cs增加如下配置 // 定义客户端认证方式 public static IEnumerable<Client> Clients => new[] { // 客户端认证 new Client { ClientId="sample_client&q…
在入门一.入门二我们实现了一个完整的API保护的过程.需要保护的API只需在其Controler上应用[Authorize]特性,来显式指定受保护的资源.而我们实现的这个例子,所应用的模式叫“Client Credentials”,在Config.cs中有这么一段代码 “Client Credentials”(客户端凭证)模式,是最简单的授权模式,因为授权的流程仅发生在Client与Identity Server之间. 该模式的适用场景为服务器与服务器之间的通信.比如对于一个电子商务网站,将订单…
IdentityServer4 中文文档 -9- (快速入门)使用客户端凭证保护API 原文:http://docs.identityserver.io/en/release/quickstarts/1_client_credentials.html 目 录 上一篇:IdentityServer4 中文文档 -8- (快速入门)设置和概览 下一篇:IdentityServer4 中文文档 -10- (快速入门)使用密码保护API 当前快速入门展示了使用 IdentityServer 保护 API…
IdentityServer4 中文文档 -13- (快速入门)切换到混合流并添加 API 访问 原文:http://docs.identityserver.io/en/release/quickstarts/5_hybrid_and_api_access.html 目 录 上一篇:IdentityServer4 中文文档 -12- (快速入门)添加外部认证支持 下一篇:IdentityServer4 中文文档 -14- (快速入门)使用 ASP.NET Core Identity 在之前的快速…
使用客户端凭据保护 API quickstart 介绍了使用 IdentityServer 保护 API 的最基本场景. 接下来的场景,我们将定义一个 API 和一个想要访问它的客户端. 客户端将在 IdentityServer 上请求访问令牌并使用它来访问 API. 定义 API 在系统中定义您需要保护的资源的范围,比如 APIs. 由于我们演示的项目使用的是内存存储 - 您需要添加一个 API,它创建了一个类型为 ApiResource 的对象并设置了一些属性. 在您的项目中添加一个文件 (…
切换到混合流并且添加API访问 前面的示例中我们开发了API访问和用户认证,现在我们要将两个合并到一起. OpenID Connect&OAuth 2.0组合的美妙之处是,你可以使用单一协议和与令牌服务进行单一交换来实现这两种功能. 前面的示例中我们使用过了OpenId Connect的隐式流程(implicit flow).在隐式流程中所有的token都是通过浏览器进行传输,这对于id token来说没有什么问题的,但是现在我们想要请求一个access token. access token要…
自定义证书使用kubectl认证接入API Serverkubeconfig是API Server的客户端连入API Server时使用的认证格式的客户端配置文件.使用kubectl config view查看其配置 kubectl config view apiVersion: v1 clusters: #集群列表 - cluster: certificate-authority-data: DATA+OMITTED server: https://192.168.1.100:6443 nam…
crt (证书文件) 编辑 本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 客户端认证的证书.私钥. 中文名 crt 性    质 证书文件 类    型 客户端认证的证书.私钥 特    点 客户端认证 客户端认证的证书.私钥.                    Ctl  为控制缩写,…
上一篇中介绍了hadoop集群搭建方式,本文介绍集群的访问.集群的访问方式有两种:hadoop客户端访问,Java API访问. 一.集群客户端访问 Hadoop采用C/S架构,可以通过客户端对集群进行操作,其实在前面搭建的集群环境中,每个集群节点都可以作为一个客户端进行集群访问,但是一般场景下,会将集群服务器作为整体,从外部设置客户端对集群进行访问. 为了能从集群服务器外部访问,需要一台与集群服务器在同一网段的主机(可以与集群节点Ping通),安装hadoop作为客户端机器,并将该机器与集群服…
[.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章介绍了如何使用Dapper持久化IdentityServer4(以下简称ids4)的信息,并实现了sqlserver和mysql两种方式存储,本篇将介绍如何使用ids4进行客户端授权. .netcore项目实战交流群(637326624),有兴趣的朋友可以在群里交流讨论. 一.如何添加客户端授权? 在了解如何进行客户端授权时,我们需要了解详细的授权流程,在[.NET Core项目实战-统一认证平台]第八章 授权篇-Identit…
一. 概述 本篇开始进入IS4实战学习,从第一个示例开始,该示例是 “使用客户端凭据保护API”,这是使用IdentityServer保护api的最基本场景.该示例涉及到三个项目包括:IdentityServer项目.API项目.Client项目,都有自己的宿主,为了方便开发,放在了一个解决方案下(Quickstart.sln),三个项目的分工如下: (1) IdentityServer项目是包含基本的IdentityServer设置的ASP.NET Core应用程序,是令牌端点. (2) AP…
[.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章介绍了IdentityServer4的源码分析的内容,让我们知道了IdentityServer4的一些运行原理,这篇将介绍如何使用dapper来持久化Identityserver4,让我们对IdentityServer4理解更透彻,并优化下数据请求,减少不必要的开销. .netcore项目实战交流群(637326624),有兴趣的朋友可以在群里交流讨论. 一.数据如何实现持久化 在进行数据持久化之前,我们要了解Ids4是如何实现…
写在前面 1.源码(.Net Core 2.2) git地址:https://github.com/yizhaoxian/CoreIdentityServer4Demo.git 2.相关章节 2.1.<IdentityServer4 (1) 客户端授权模式(Client Credentials)> 2.2.<IdentityServer4 (2) 密码授权(Resource Owner Password)> 2.3.<IdentityServer4 (3) 授权码模式(Aut…
配套源码:https://gitee.com/jardeng/IdentitySolution 本篇将创建使用[Code-授权码]授权模式的客户端,来对受保护的API资源进行访问. 1.接上一篇项目,因为之前创建IdentityServer认证服务器没有使用IdentityServer4提供的模板,在Code授权码模式就没有进行登录.授权的界面,所以重新创建一下IdentityServer项目. 重新使用IdentityServer4模板 - is4inmem创建项目. 将之前IdentityS…
配套源码:https://gitee.com/jardeng/IdentitySolution 本篇将创建使用[ResourceOwnerPassword-资源所有者密码凭证]授权模式的客户端,来对受保护的API资源进行访问. 接上一篇项目,在IdentityServer项目Config.cs中添加一个客户端 /// 资源所有者密码凭证(ResourceOwnerPassword) /// Resource Owner其实就是User,所以可以直译为用户名密码模式. /// 密码模式相较于客户端…
前言: 前面介绍了IdentityServer4 的简单应用,本篇将继续讲解IdentityServer4 的各种授权模式使用示例 授权模式: 环境准备 a)调整项目结构如下:   b)调整cz.IdentityServer项目中Statup文件如下 public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); serv…
本文转自:http://www.cnblogs.com/CreateMyself/p/4856133.html 前言 无论是ASP.NET MVC还是Web API框架,在从请求到响应这一过程中对于请求信息的认证以及认证成功过后对于访问页面的授权是极其重要的,用两节来重点来讲述这二者,这一节首先讲述一下关于这二者的一些基本信息,下一节将通过实战以及不同的实现方式来加深对这二者深刻的认识,希望此文对你有所收获. Identity Identity代表认证用户的身份,下面我们来看看此接口的定义 ?…
前言 无论是ASP.NET MVC还是Web API框架,在从请求到响应这一过程中对于请求信息的认证以及认证成功过后对于访问页面的授权是极其重要的,用两节来重点来讲述这二者,这一节首先讲述一下关于这二者的一些基本信息,下一节将通过实战以及不同的实现方式来加深对这二者深刻的认识,希望此文对你有所收获. Identity Identity代表认证用户的身份,下面我们来看看此接口的定义 public interface IIdentity { // Properties string Authenti…
一.概述 在上篇中,探讨了交互式用户身份验证,使用的是OIDC协议. 在之前篇中对API访问使用的是OAuth2.0协议.这篇把这两个部分放在一起,OpenID Connect和OAuth 2.0组合的优点在于:可以使用单个协议和令牌服务,进行单次交换来实现这两者. 上篇中使用了OpenID Connect隐式流程.在隐式流程中,所有令牌都通过浏览器传输,这对于身份令牌来说是完全正确的.现在我们还想要一个访问令牌. 访问令牌比身份令牌更敏感,如果不需要,我们不希望将它们暴露给“外部”世界.Ope…
kubernetes RBAC实战 环境准备 先用kubeadm安装好kubernetes集群,[包地址在此](https://market.aliyun.com/products/56014009/cmxz022571.html#sku=yuncode1657100000) 好用又方便,服务周到,童叟无欺 本文目的,让名为devuser的用户只能有权限访问特定namespace下的pod 先用kubeadm安装好kubernetes集群,[包地址在此](https://market.aliyu…
项目初始化 新建项目 lukeyans-MacBook-Pro:laravel lukeyan$ laravel new laravel_demo 添加laravel自带的Passport服务 lukeyans-MacBook-Pro:laravel_demo lukeyan$ composer require laravel/passport 接下来,将 Passport 的服务提供者注册到配置文件 config/app.php 的 providers 数组中: Laravel\Passpor…