首页 > 其他分享 >IdentityServer4取消使用HTTPS问题

IdentityServer4取消使用HTTPS问题

时间:2024-09-19 15:47:58浏览次数:12  
标签:Console WriteLine 取消 await disco HTTPS var new IdentityServer4

// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.
// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.

using IdentityModel.Client;
using Newtonsoft.Json.Linq;
using System;
using System.Net.Http;
using System.Threading.Tasks;

namespace Client
{
    public class Program
    {
        private static async Task Main()
        {
            // discover endpoints from metadata
            var client = new HttpClient();
            
            //var disco = await client.GetDiscoveryDocumentAsync("http://10.128.39.41:5001");

            var disco = await client.GetDiscoveryDocumentAsync(new DiscoveryDocumentRequest { Address = "http://10.128.39.41:5001", Policy = new DiscoveryPolicy { RequireHttps = false } });

            if (disco.IsError)
            {
                Console.WriteLine(disco.Error);
                return;
            }

            // request token
            var tokenResponse = await client.RequestClientCredentialsTokenAsync(new ClientCredentialsTokenRequest
            {
                Address = disco.TokenEndpoint,
                ClientId = "client",
                ClientSecret = "secret",

                Scope = "api1"
            });
            
            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            Console.WriteLine(tokenResponse.Json);
            Console.WriteLine("\n\n");

            // call api
            var apiClient = new HttpClient();
            apiClient.SetBearerToken(tokenResponse.AccessToken);

            var response = await apiClient.GetAsync("http://10.128.39.41:6001/identity");
            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
            }
            else
            {
                var content = await response.Content.ReadAsStringAsync();
                Console.WriteLine(JArray.Parse(content));
            }
        }
    }
}

关键是这句:

var disco = await client.GetDiscoveryDocumentAsync(new DiscoveryDocumentRequest { Address = "http://10.128.39.41:5001", Policy = new DiscoveryPolicy { RequireHttps = false } });

标签:Console,WriteLine,取消,await,disco,HTTPS,var,new,IdentityServer4
From: https://www.cnblogs.com/shiningrise/p/18420713

相关文章

  • windows https 证书
    本地服务生成HTTPS证书1.webpack最简单的套餐webpack-mkcertnpmiwebpack-mkcertvue-cli为例(webpack5.+)constWebpackMkcert=require('webpack-mkcert');module.exports=defineConfig(async()=>{constSSL=awaitWebpackMkcert.default({......
  • 为什么HTTPS会引入SSL/TLS协议:深入解析网络安全的基石
    目录1.什么是HTTPS?2.为什么需要HTTPS?3.SSL/TLS协议的作用4.SSL/TLS的工作流程5.为什么HTTPS要引入SSL/TLS?在当今这个数字化时代,网络安全已经成为了我们不可忽视的重要议题。作为软件工程领域的博主,今天将深入探讨一个关键的网络安全技术——SSL/TLS协议,以及它在HTT......
  • HTTP和HTTPS有什么区别?
    我们在打开网页的时候经常会看到有的网址显示的是HTTP,但有的网址显示的是HTTPS,有的人会禁不住发问,这两者之间到底有什么区别?为什么显示的会不一样?显示HTTP的能不能变成HTTPS?要搞清这些问题,先要弄明白这两者的概念。一、HTTP和HTTPS的基本概念HTTP:超文本传输协议(HypertextTra......
  • 一文详解:使用HTTPS有哪些优势?
    互联网发展到今天,HTTP协议的明文传输会让用户存在非常大的安全隐患。试想一下,假如你在一个HTTP协议的网站上面购物,你需要在页面上输入你的银行卡号和密码,然后你把数据提交到服务器实现购买。假如这个环节稍有不慎,你的传输数据被第三者给截获了,由于HTTP明文数据传输的原因,你的银......
  • http到https需要那几部操作?
    将HTTP网站升级到HTTPS需获取SSL证书并完成相关配置。获取SSL证书选择证书类型:根据需求选择单域名、多域名或通配符证书。购买证书:从受信任的证书服务商处购买合适的SSL证书。永久免费SSL证书_永久免费https证书_永久免费ssl证书申请-JoySSL真正完全且永久免费!不用您花一......
  • [计算机网络]HTTPS存在的问题
    1、证书信任链问题:当客户端验证服务器的证书时,需要一个可靠的证书颁发机构(CA)来建立信任链。然而,在实际应用中,存在证书信任链被破坏或被攻击者伪造的风险,这将对数据传输的安全性造成威胁。如果中间人攻击者能够伪造证书或破坏证书信任链,他们可能会冒充合法服务器并窃取或篡改数据。......
  • 代理ip批量检测工具,采用多线程并发编程,支持http,https,socks4,socks5协议!
     工具使用c++编程语言,采用多线程并发检测技术:支持ipv4及ipv6代理ip批量检测。支持httphttpssocks4及socks5代理服务器的批量检测。支持所有windows版本运行!导入方式支持手工选择文件及拖放文件。导入格式支持三种格式:第一种:用|号分割2409:8a50:8019:e470:a8d7:bdf0:fbfe:8b5......
  • 帝国cms认证码怎么取消
    取消帝国CMS中的认证码(也称为验证码),可以通过以下几种方法来实现:1.通过后台设置取消如果你只是想在某些特定的操作中取消认证码,比如在会员注册、登录或后台管理时不需要验证码,可以尝试通过后台设置来取消:登录后台:登录帝国CMS的后台管理系统。进入系统设置:在后台管理......
  • FastAPI 应用安全加固:HTTPSRedirectMiddleware 中间件全解析
    在当今的网络环境中,数据安全变得越来越重要。HTTPS作为一种安全协议,它通过加密传输数据来保护用户信息免受窃取和篡改。在FastAPI应用中,确保所有的HTTP请求都通过HTTPS进行是至关重要的。中间件在FastAPI中用于处理请求前后的通用任务,例如身份验证、日志记录、请......
  • HTTPS的加密流程:保护你的数据传输
    目录1.什么是HTTPS?2.HTTPS的加密流程2.1 客户端发起HTTPS请求2.2 服务器响应并发送证书2.3 客户端验证证书2.4 客户端生成加密密钥2.5 客户端使用服务器的公钥加密密钥2.6 服务器解密密钥2.7 建立加密通道2.8 数据传输2.9 会话结束3.总结在当今这个......