执行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 和查询参数
美好的一天。我是 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 和查询参数