Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 手动实现OAuth2和x27的客户端;.NETCore3.1中的身份验证代码流 背景故事_C#_Asp.net Core_Oauth 2.0_Asp.net Core 3.1 - Fatal编程技术网

C# 手动实现OAuth2和x27的客户端;.NETCore3.1中的身份验证代码流 背景故事

C# 手动实现OAuth2和x27的客户端;.NETCore3.1中的身份验证代码流 背景故事,c#,asp.net-core,oauth-2.0,asp.net-core-3.1,C#,Asp.net Core,Oauth 2.0,Asp.net Core 3.1,由于Swagger支持什么以及我的系统需要什么的限制,我发现自己需要在没有实际应用程序帮助的情况下获得访问令牌。我正在尝试在IOperationFilter中执行此操作 问题详情 在我看来,这些步骤是: 使用回调URL(和PKCE代码质询)调用IDP 浏览器被重定向到IDP的登录页面,用户登录 浏览器将重定向到回调url,url中包含验证代码 使用身份验证代码和PKCE代码验证程序调用IDP以获取访问令牌 我可以获得调用IDP所需的URL(使用PKCE代码挑战)。但我不确定如何重定向到IDP登录

由于Swagger支持什么以及我的系统需要什么的限制,我发现自己需要在没有实际应用程序帮助的情况下获得访问令牌。我正在尝试在IOperationFilter中执行此操作

问题详情 在我看来,这些步骤是:

  • 使用回调URL(和PKCE代码质询)调用IDP
  • 浏览器被重定向到IDP的登录页面,用户登录
  • 浏览器将重定向到回调url,url中包含验证代码
  • 使用身份验证代码和PKCE代码验证程序调用IDP以获取访问令牌
  • 我可以获得调用IDP所需的URL(使用PKCE代码挑战)。但我不确定如何重定向到IDP登录,或者捕获回调URL以获取验证代码。我尝试了
    HttpContextAccessor.HttpContext.Response.Redirect
    ,但没有效果

    我也不知道如何抓取带有AuthCode的调用。我可以使用
    host.CreateDefaultBuilder(args).ConfigureWebHostDefaults
    启动自己的主机,但似乎不需要在现有服务中托管单独的服务

    问题:
    如何从最初加载页面时的代码运行,如何将浏览器重定向到IDP,然后在URL中使用验证代码捕获从IDP到页面的重定向?

    您确定swagger不支持该流吗?我正在使用一个类似的设置,并且能够很好地配置授权(尽管经过大量的猜测工作)@pinkfloydx33-它在一定程度上支持它。但是在它获得令牌之后,我需要发送访问令牌(作为承载者)和ID令牌(作为普通头)。我找不到办法让它同时发送这两个。(我得选一个。)。我的系统需要两者。我不知道如何做到这一点,但几乎所有东西都可以通过内置选项和自定义过滤器进行配置。你也许会更幸运地询问那些大摇大摆的回购协议