首页 > 其他分享 >【Azure Developer】记录一段验证AAD JWT Token时需要设置代理获取openid-configuration内容

【Azure Developer】记录一段验证AAD JWT Token时需要设置代理获取openid-configuration内容

时间:2024-06-14 21:13:56浏览次数:10  
标签:AAD https http cn openid JWT context configuration options

问题描述

如果在使用.NET代码对AAD JWT Token进行验证时候,如果遇见无法访问 Unable to obtain configuration from: 'https://login.partner.microsoftonline.cn/<common or your tenant id>/v2.0/.well-known/openid-configuration‘, 可以配置 HttpClientHandler.Proxy 代理。

 

问题解答

...

services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) .AddJwtBearer(options => { options.Authority = https://login.partner.microsoftonline.cn/<common or tenant id>; options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters { ValidateIssuerSigningKey = false, ValidateAudience = true, ValidateIssuer = true, ValidateLifetime = true, ValidAudience = "Entra ID Application ID", ValidIssuer = https://login.partner.microsoftonline.cn/<common or tenant id>/v2.0, }; options.BackchannelHttpHandler = new HttpClientHandler { UseProxy = true, Proxy = Utility.GetWebProxy(httpConfiguration) };
options.Events ??= new JwtBearerEvents(); var onTokenValidatedHandler = options.Events.OnTokenValidated; options.Events.OnTokenValidated = async context => { var httpContext = context.HttpContext; lock (httpContext) { httpContext.Items[ServiceConstants.HttpContextTokenKey] = (context.SecurityToken is JwtSecurityToken or JsonWebToken ? context.SecurityToken : null); } await onTokenValidatedHandler(context).ConfigureAwait(false); }; }); ...

 

参考资料

 

HttpClientHandler.Proxy 属性:https://learn.microsoft.com/zh-cn/dotnet/api/system.net.http.httpclienthandler.proxy?view=net-8.0#system-net-http-httpclienthandler-proxy

HTTP 代理 : https://learn.microsoft.com/zh-cn/dotnet/fundamentals/networking/http/httpclient#http-proxy

 

 

 

标签:AAD,https,http,cn,openid,JWT,context,configuration,options
From: https://www.cnblogs.com/lulight/p/18248634

相关文章

  • JWT工具【工具类】
    一、JWTJSONWebToken(JWT)是一个开放标准(RFC7519),定义了一种紧凑且自包含的方式,以JSON对象的形式在各方之间安全地传输信息。这种信息可以被验证和信任,因为它是数字签名的。具体来说,JWT是一种用于在不同系统间身份验证的json对象,它主要由三部分组成:header(头部)、payload(......
  • [学习JWT安全]JWT安全的学习笔记
    学习了JWT(jsonwebtoken),下边是笔记......
  • Asp .Net Core 系列:详解鉴权(身份验证)以及实现 Cookie、JWT、自定义三种鉴权 (含源码解
    什么是鉴权(身份验证)?https://learn.microsoft.com/zh-cn/aspnet/core/security/authentication/?view=aspnetcore-8.0定义鉴权,又称身份验证,是确定用户身份的过程。它验证用户提供的凭据(如用户名和密码)是否有效,并据此确认用户是否具备访问系统的权利。过程用户向系统提供......
  • Gin框架下的JWT
    Gin框架下的JWT什么是JWT我们都知道,HTTP协议是无状态的,clickhere,那么服务端怎么知道用户状态的呢(比如是否登录呢),这里就需要用到中间件来进行用户认证。中间件认证有这么几种方式sessiontokentoken和session最大的区别就是token是存储在客户端的:我们都知道,session是......
  • JWT令牌(易懂入门介绍)
    文章目录什么是令牌技术为什么需要令牌技术呢JWT令牌JWT组成JWT令牌的使用引入JWT依赖生成JWT令牌解析JWT令牌给登录成功的请求生成并且下发令牌用postman对登录页面进行接口测试,看能不能返回jwt令牌成功后进行前后端联调看请求头有没有jwt令牌携带什么是令牌技......
  • 使用 JWT 生成token
    安装Nuget包:Microsoft.AspNetCore.Authentication.JwtBearerSystem.IdentityModel.Tokens.Jwt2. 然后,配置JWT服务和认证:在 Program.cs文件中usingMicrosoft.AspNetCore.Authentication.JwtBearer;usingMicrosoft.Extensions.DependencyInjection;usingMicrosoft.......
  • SpringBootWeb 篇-深入了解 Filter 过滤器与 Interceptor 拦截器(实现登录校验 Filter
    ......
  • Session+Redis,Token+Redis,JWT+Redis,用户身份认证,到底选择哪种更合适?
    1三中方案的比较在选择Session+Redis、Token+Redis、JWT+Redis这三种用户身份认证方案时,我们需要考虑各自的优势、劣势以及应用场景。以下是对这三种方案的详细分析和比较:1.Session+Redis优势:Session登录是一种在Web应用程序中用于跟踪用户状态的机制,通过在服务器端存储......
  • 【go】【jwt】
    @目录写在前面installjwtgolangjwt参考资料基础/标准库/第三方库golang导航编程规范算法|面试项目写在前面相关博文个人博客首页免责声明:仅供学习交流使用!开源框架可能存在的风险和相关后果将完全由用户自行承担,本人不承担任何法律责任。installjwtgogetgithub.com......
  • SpringBoot继承JWT token实现权限的验证(从头开始)
    目录概述前提:我们需要知道的文件的用处第1步:数据库的连接第2步:定义一个标准化响应对象的类第3步:编写请求数据库数据代码第4步:自定义异常处理第5步:导入依赖第6步:自定义拦截器第7步:配置拦截器第8步:生成token第9步:开始测试代码第10步:vue请求示例扩展:自定义注解AuthAc......