执行oauth2授权请求后如何重定向到登录页面

How to redirect to login page after executing ouath2 authorization request

美好的一天。我是 C# 和 OAuth 的新手。我正在尝试使用 RestSharp 在 Blazor 中实现 OAuth2。我有以下代码:

@page "/infusionsoft" @使用 System.Globalization

Infusionsoft

请求身份验证

@code {
    @using RestSharp;
    @using RestSharp.Authenticators;
    @using Newtonsoft.Json;

public void Foo1()
{
        string url = "https://signin.infusionsoft.com/app/oauth/authorize";
        string client_id = "myid";
        string client_secret = "mysecret";

        //request token
        var restclient = new RestClient(url);
        RestRequest request = new RestRequest("request/oauth") { Method = Method.POST };
        request.AddHeader("Accept", "application/json");
        request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
        request.AddParameter("client_id", client_id);
       request.AddParameter("client_secret", client_secret);
        request.AddParameter("grant_type", "authorization_code");//+

        IRestResponse tResponse = restclient.Execute(request);
        Console.WriteLine(tResponse.Content);


}

}

它应该将我的应用程序重定向到登录页面,但现在它什么也没做。我已经尝试 google 但我仍然不明白:(。另外,一旦获得授权,我如何开始调用 api。非常感谢任何示例代码。谢谢。

我不太熟悉你正在使用的东西,但据我所知,你实际上根本没有重定向。

您正在使用 RestSharp 向 OAuth URL 发送 POST 请求,它不会重定向用户,而只是从您的应用程序发送请求并将响应保存在 tResponse.

您似乎需要使用 IUriHelper#NavigateTo(url) 重定向到 OAuth 页面。您可以使用 @inject IUriHelper uriHelper 注入它,然后使用其参数构建 URL,然后将其传递给 uriHelper.NavigateTo(url)。 希望这有帮助。

链接:

https://medium.com/cloudnimble/redirects-in-blazor-apps-75b3f4709d57

您应该通过发送将用户重定向到身份验证服务器 HTTP 状态代码 302,然后在重定向 URL.

中指定身份验证服务器 URL 和查询参数