使用请求参数将用户重定向到授权URL

时间:2017-08-23 23:10:29

标签: c# asp.net redirect asp.net-core oauth-2.0

我尝试将我的网络应用程序的用户重定向到我的网站内的请求参数的授权终端(第三方)。我使用asp.net核心作为我的技术平台。

我是否在中间件管道或api / mvc控制器中执行此类操作?

现在我正试图在控制器内部进行此操作。我可以创建一个电话并收回回复,但我并不认为我想要回复。这是我的代码:

        HttpClient client = new HttpClient();
        var values = new List<KeyValuePair<string, string>>();
        values.Add(new KeyValuePair<string, string>("client_id", "somevalue"));
        values.Add(new KeyValuePair<string, string>("scope", "somescope"));
        values.Add(new KeyValuePair<string, string>("state", "fizzbuzz"));
        var content = new FormUrlEncodedContent(values);
        var response = await client.PostAsync(authorizeEndPoint, content);

我在这里不知所措,出于某种原因无法解决问题。我怎么想将我的用户重定向到第三方授权?

由于

1 个答案:

答案 0 :(得分:1)

所以我能够通过将ActionResult更改为void并在我的操作中添加

来使其工作
   [HttpGet]
    public  void Index()
    {
        Response.Redirect("url?client_id=value&scope=value&state=value");
    }

我仍然不确定这是否是正确的做法,还是我应该处理我的中间件内部的重定向。我不确定但这有效,但是不是吗?希望这有助于将来的其他人,我希望有人可以验证这是否正确。