我正在构建一个与 Facebook 集成的 ASP.NET Core 应用程序,以将短期令牌交换为长期令牌。
提出请求时,我不断收到以下错误:
StatusCode: 400, ReasonPhrase: 'Bad Request', Version: 1.1, Content: System.Net.Http.HttpConnectionResponseContent, Headers: { WWW-Authenticate: OAuth "Facebook Platform" "invalid_code" "Invalid verification code format." }
代码:
var httpClient = \_httpClientFactory.CreateClient();
var queryParameters = new Dictionary\<string, string\>
{
{ "client_id", clientId },
{ "redirect_uri", redirectUri },
{ "client_secret", clientSecret },
{ "state", companyId },
{ "code", authorizationCode }
};
var queryString = string.Join("&", queryParameters.Select(kvp =\>
$"{Uri.EscapeDataString(kvp.Key)}={Uri.EscapeDataString(kvp.Value)}"));
var urlWithParams = $"{FacebookTokenUrl}?{queryString}";
var tokenResponse = await httpClient.GetAsync(urlWithParams);
“验证码格式无效”错误是什么意思?该代码是在前端登录时由 FB Service 返回的。
此问题是否与 Facebook 中的业务验证或应用程序访问验证要求有关?
您提到的OAuth协议流程处于哪个阶段?您共享的令牌请求未指定
grant_type
参数。所以也许缺少这个,因此授权服务器无法处理授权code
。