• AspNetCore 中使用 InentityServer4(2)


    基于上一篇文章 实现对IdnetityServer4 服务的使用

    1:添加接口解决方案,并且使接口受认证服务的保护:

    首先在解决方案中添加Api项目如下图所示:

    在API项目中添加Nuget 引用 如下图所示:

    Install-Package IdentityServer4.AccessTokenValidation -Version 2.6.0

    添加此包的作用是,在API中添加验证服务,使Api 受验证服务的保护,如果消费者在调用此受保护的接口的时候,传入的令牌没有通过验证将不允许进行访问

    在Startup 中添加身份认证服务如下图所示:

    以上有关验证服务我们就配置好了,但是如果我们现在进行项目启动并且调用其中的方法时会发现和平常并没有什么区别:如图演示

    是因为我们只是进行了配置并没有进行使用:使用如下:

    引用:using Microsoft.AspNetCore.Authorization 这是AspNetCore的认证命命空间

    我们在Api 方法Get()上进行使用如下 注意在Get(int Id)方法上我们并没有进行使用项目启动后我们尝试调用结果如下:

    这是未使用验证的方法Get(int Id):调用成功

    下面是使用验证的方法:调用失败未授权

     

    如果说我们想让整个控制器中的所有方法都使用,在控制器上方进行使用就行:如下图

     上面的演示结果都是失败的,下面我们加上密钥去访问一下:结果如下图所示

    密钥是用客户端代码请求来的,上面的演示结果都是使用Postman 进行调用演示:演示一下客户端使用

    2:添加客户端解决方案,并请求密钥完成调用:

    以控制台进行演示一下:

    新建控制台:并且引用IdentityModel包 如下图所示:

    因为IdentityModel客户端只提供了异步等待请求的方式去请求认证服务器,所以 我们首先更改一下控制台的属性步骤如下

    点击打开控制台属性 —》点开 高级 如图

    修改高级语言版本为7.1以上, 如图:注意: 7.1以上才支持 控制台入口方法 Main 支持异步等待操作

    环境好了之后下面我们请求一下,认证服务,并且演示模拟调用接口操作,代码如下:

     结果如图:

     

  • 相关阅读:
    Cocos Creator 图集 (TexturePacker、自动图集功能 、压缩纹理)
    Cocos Creator 下载不同版本引擎
    Cocos Creator 源码 (位置,阅读、修改)
    Laya3D Unity商店免费下载3D资源使用(Unity插件支持哪些导出)
    三 Laya3D 加载资源 (场景/预设/模型网格/材质/动画文件/贴图/粒子)
    二 Laya3D github demo下载并使用
    一 Laya3D Unity下载和插件安装
    AndroidUI设计之布局-详细解析布局实现
    Android 监听ScrollView的滑动
    【Android进阶】Android程序与JavaScript之间的简单调用
  • 原文地址:https://www.cnblogs.com/zxtceq/p/13916837.html
Copyright © 2020-2023  润新知