Мне пришлось переключить весь мой код OAuth на OAuth2, и теперь я не могу заставить мое приложение работать правильно. Я понимаю, что это потому, что я действительно не знаю Javascript.
Я открываю экран входа в Quickbooks со страницы A, используя следующий код:
var authorizationRequest = oauthClient.GetAuthorizationURL(scopes);
Response.Redirect(authorizationRequest, "_blank", "menubar=0,scrollbars=1,width=780,height=900,top=10");
Имя входа перенаправляется на страницу OAuth2.aspx.cs, где обрабатывается токен:
var tokenResp = await oauthClient.GetBearerTokenAsync(authCode);
if (!dictionary.ContainsKey("accessToken"))
{
dictionary.Add("accessToken", tokenResp.AccessToken);
Session["OAuthAccessToken"] = tokenResp.AccessToken;
}
else
{
dictionary["accessToken"] = tokenResp.AccessToken;
Session["OAuthAccessToken"] = tokenResp.AccessToken;
}
if (!dictionary.ContainsKey("refreshToken"))
{
dictionary.Add("refreshToken", tokenResp.RefreshToken);
Session["OAuthRefreshToken"] = tokenResp.RefreshToken;
}
else
{
dictionary["refreshToken"] = tokenResp.RefreshToken;
Session["OAuthRefreshToken"] = tokenResp.RefreshToken;
}
if (tokenResp.IdentityToken != null)
javascript на OAuth2.aspx:
<% if (dictionary.ContainsKey("accessToken"))
{
Response.Write("<script> window.opener.location.reload();window.close(); </script>");
}
%>
После входа в Quickbooks всплывающее окно никогда не закрывается, и управление никогда не возвращается на страницу A. Любая помощь очень ценится.