美文网首页
identityServer4-客户端模式

identityServer4-客户端模式

作者: 有梦想的民工 | 来源:发表于2019-01-26 10:23 被阅读0次

客户端模式

开始以前请先看下阮一峰大神的OAuth2.0的博客,或者这个系列的前两篇关于OAuith和openid的介绍,对这两个东西有个大概的了解,同时贴出一些参考的博客

授权服务器搭建

第一步安装identityServer4

Install-Package identityserver4

第二步编写配置类

我们新建一个叫identityServerContent的webapi的项目
添加一个config类

//config 
public class config {
      //配置api resource
   public static List<ApiResource> GetResources()
   {
        return new List<ApiResource>
        {
               new ApiResource('api','My API')
        }      
   }
    
   public static List<Client> GetClients()
   {
       return new List<Client>()
      {
          new Client()
          {
                ClientId="client",
                AllowedGrantTypes= GrantTypes.ClientCredentials,//模式:最简单的模式
                ClientSecrets={//私钥
                        new Secret("secret".Sha256())
                },
                AllowedScopes={//可以访问的Resource
                        "api"
                }
          }
      }
   }

}
第三步注入identityServer4

在Startup.cs中注入ids4

services.AddIdentityServer()
    .AddDeveloperSigningCredential()//添加开发人员签名凭据
    .AddInMemoryApiResources(Config.GetResources())//添加内存apiresource
    .AddInMemoryClients(Config.GetClients());//添加内存client

到此我们的授权服务端算是完成了

客户端集成IdentityServer

安装包

首先新建一个webapi的项目,同时安装中间件
dotnet new webapi --name ClientCredentialApi
Install-Package IdentityServer4.AccessTokenValidation

注入Di
services.AddAuthentication("Bearer")//添加授权模式
    .AddIdentityServerAuthentication(Options=>{
        Options.Authority="http://localhost:5000";//授权服务器地址
        Options.RequireHttpsMetadata=false;//是否是https
        Options.ApiName="api";
   });

同时把所有控制器打上[Authorize]的标记,到此我们客户端配置已经完成了

使用postman来测试接口

我们分别启动这两个项目,5000端口代表授权服务器,5001代表Api服务器
1.使用postman来测试调用

到此我们的客户端模式编写完成,下篇我们将开始密码模式
推荐参考 博客园 晓晨master大佬的identityServer4系列

相关文章

  • identityServer4-客户端模式

    客户端模式 开始以前请先看下阮一峰大神的OAuth2.0的博客,或者这个系列的前两篇关于OAuith和openid...

  • SpringBoot--实战开发--OAuth2.0客户端模式(

    一、客户端模式简介   客户端模式(Client Credentials Grant)指客户端以自己的名义,而不是...

  • .Net Core身份认证:IdentityServer4实现O

    一、客户端模式介绍 客户端模式(Client Credentials Grant)是指客户端直接向认证服务(Aut...

  • 客户端模式

    客户端模式 客户端模式(Client Credentials Grant)指客户端以自己的名义,而不是以用户的名义...

  • Spring security oauth2-客户端模式,简化模

    一、客户端模式原理解析(来自理解OAuth 2.0) 客户端模式(Client Credentials Grant...

  • 外观模式

    什么是外观模式? 外观模式(Facade Pattern)门面模式,隐藏系统的复杂性,并向客户端提供了一个客户端可...

  • 结构型设计模式->门面模式

    外观模式(Facade Pattern)外观模式即门面模式,隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系...

  • Spark之参数介绍

    1 spark on yarn常用属性介绍 2 客户端模式和集群模式的区别 这里我们要区分一下什么是客户端模式(c...

  • FTP服务器搭建

    FTP服务器 一、FTP工作模式 1、主动模式 客户端连接到服务器的21端口 当客户端请求数据时,客户端连接到服务...

  • zabbix-添加主机

    client安装 主动模式和被动模式 主动和被动是相对客户端而言被动模式:服务端会主动连接客户端获取监控项目数据,...

网友评论

      本文标题:identityServer4-客户端模式

      本文链接:https://www.haomeiwen.com/subject/wviyxqtx.html