如何在重定向控制器中使用Open ID Connect检索传递给AAD的参数?

anonuser1

我正在使用带有Azure Active Directory的Open Id Connect进行身份验证。我还为OpenIdConnectChallengeProperties设置了一个参数,以便可以在控制器操作(即重定向URL)中检索此参数。我没有找到有关如何执行此操作的任何信息。我的代码如下。

AuthController.cs

 [Route("auth/signin")]
        [HttpPost]
        public ActionResult SignIn([FromBody] RequestParams requestParams)
        {
            Guid guid = new Guid();
            _cache.Set(guid, requestParams);
            var baseURL = Request.Host;
            var redirectURL = "https://" +  baseURL + "/auth/redirect";
            var properties = new OpenIdConnectChallengeProperties();
            properties.SetParameter("id",guid);
            properties.RedirectUri = redirectURL;
            return Challenge(properties, AzureADDefaults.OpenIdScheme);
        }

[Route("auth/redirect")]
        [HttpGet]
        public async Task<string> HandleAADRedirect()
        {
            if (User.Identity.IsAuthenticated)
            {
                string accessToken = await HttpContext.GetTokenAsync("access_token");
                string idToken = await HttpContext.GetTokenAsync("id_token");
            }
            return _cache.Get("").ToString();
        }
蔡祖y

用户进行身份验证并返回到您的服务器后,即可访问该属性。

var result = await HttpContext.AuthenticateAsync(OpenIdConnectDefaults.AuthenticationScheme);
var value = result.Properties.Items["id"];

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在控制器存储区Laravel中传递和插入ID

无法在弹出式系统中将“ Id”传递给控制器的参数

如何从路由参数获取ID并将其传递给服务

如何在Laravel中使用控制器将多个变量传递给视图

Servlet控制器-使用参数重定向

如何使用Codeigniter将基本的站点URL ID访问到Ajax并传递给控制器?

Laravel将当前用户ID传递给控制器

如何在Sinatra控制器中使用参数

如何在Laravel中使用ID重定向

选择多个ID并立即传递给控制器

如何将id参数传递给子路由?

将$ id传递给控制器

如何将链接ID传递给控制器?

将ID传递给控制器

通过重定向将内部参数传递给控制器功能

Rails:如何将参数从friendly_id URL传递给控制器?

如何在$ routeProvider中将参数传递给控制器?

我无法将ID传递给控制器吗?

如何在angularjs中将参数传递给控制器?

如何在CI中的控制器中将行ID传递给函数

来自partialview的selectedlist的id未传递给控制器

如何在cakephp3中的子控制器中传递父ID的值

如何使用 Jquery 和 ajax 将 id 传递给 MVC 控制器 [ASP.NET]

无法将 ID 从 gsp 传递给控制器

如何使用BeginForm将下拉选择的名称值及其id值传递给控制器方法

如何在 Django 中将 id 作为参数传递给视图?

将选项 ID 值传递给控制器并通过 onclick 从另一个刀片视图中检索

如何重定向到传递任何 URL 参数的控制器/操作?

如何在资源控制器的更新路由中传递 id?