我有一个.net核心Web API项目,该项目利用oAuth 2.0来使用Google登录。 遵循与https://developers.google.com/identity/sign-in/web/server-side-flow
相同的代码代码段:
var requestUrl = $"oauth2/v4/token?code={code.code}&client_id={ClientId}&client_secret={SecretKey}&redirect_uri={RedirectUrl}&grant_type=authorization_code";
var dict = new Dictionary<string, string>
{
{ "Content-Type", "application/x-www-form-urlencoded" }
};
var req = new HttpRequestMessage(HttpMethod.Post, requestUrl) { Content = new FormUrlEncodedContent(dict) };
var httpResponse = await httpClient.SendAsync(req);
var token = JsonConvert.DeserializeObject<GmailToken>(await httpResponse.Content.ReadAsStringAsync());
var obj = await GetuserProfile(token.AccessToken);
响应: Http状态400
{
"error": "redirect_uri_mismatch",
"error_description": "Bad Request"
}
我在开发人员控制台上有正确的URL,并且已在代码中传递了一个URL。
答案 0 :(得分:0)
当https://console.developers.google.com/apis/credentials>“ OAuth 2.0客户端ID”下配置的重定向URL与<{> 1}参数的值完全不完全匹配时,您将收到此错误消息。 br />
这包括尾随{RedirectUrl}