• IdentityServer4 学习三


    ClientCredentials客户端类型实现

     

    客户端应用向IdentityServer请求AccessToken,IdentityServer验证通过把AccessToken返回给客户端应用,客户端应用拿着AccessToken访问API资源,获得响应;

     客户端应用不代表用户,客户端应用本身相当于是资源所有者;Client Credentials通常用于机器对机器的通信;客户端应用也是需要身份认证;

    代码实现:把config类中的其余两种方式注释掉,并修改如下地方,运行

     

    创建一个控制台应用程序,需要安装包

    也可以使用c#7.1中的async main

    首先修改项目文件添加最新语法特性

     

    客户端请求token

    断点调试返回成功,调用api测试

    返回失败

    错误403,资源不存在。

    定义API资源:

    创建一个API项目端口修改下

    新建IdentityController修改如下:

    startup中的配置:

    依次启动Idp 、ApiResource、ConsoleClient 项目,可以看到ConsoleClient中打印出正确的返回结果:

     Client Credentials - Token 请求 :

    在ConsoleClient项目中打上断点把并使用Fiddler 进行抓包查看

     

    请求Header中的内容

    返回的Response

    把返回的access_token复制出来,打开https://jwt.io,把access_token放进去查看

  • 相关阅读:
    win10 x64 1903的miniVT实现ept
    关于wmi的参数拦截
    内核中获取远程名称管道IP
    分享一个之前写的mbr的分析过程
    PassUAC的简单实现(二)
    如何分析加上SE壳的.net程序
    IECVE收集
    _KWAIT_BLOCK使用时遇到的问题
    CVE20160189
    PassUAC的简单实现(一)
  • 原文地址:https://www.cnblogs.com/MrZheng/p/10965128.html
Copyright © 2020-2023  润新知