在 Windows 8.1 上单点登录 Goodreads 无法获得结果

本文关键字:结果 Goodreads 登录 Windows 单点 | 更新日期: 2023-09-27 18:30:58

>我正在尝试使用goodreads登录。我正在调用WebAuthenticationBroker,它会打开一个覆盖层进行登录。到目前为止,这有效,但我无法在登录后关闭覆盖层。我也没有得到成功的结果。但是,使用后退箭头时,我得到"用户取消"结果。

这是我到目前为止得到的:

string goodreadsURL = "https://www.goodreads.com/oauth/authorize?oauth_token=" + Properties.OAuth_token;
Uri sid = WebAuthenticationBroker.GetCurrentApplicationCallbackUri();
string callbackURL = sid.ToString();
var startUri = new Uri(goodreadsURL);
WebAuthenticationResult result = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, startUri, new Uri(callbackURL));
if (result.ResponseStatus == WebAuthenticationStatus.Success && !result.ResponseData.Contains("&error="))
{
    [...]
}

我发现了一个类似的问题 无法使用Windows 8.1进行Facebook单点登录,但建议的答案不适用于我的情况。

有什么想法吗?

在 Windows 8.1 上单点登录 Goodreads 无法获得结果

我认为

这可能表明 OAuth 回调 URL 未被导航到代码中,似乎没有指定它。您可能需要添加它。试试这个:

string goodreadsURL =
    "https://www.goodreads.com/oauth/authorize?oauth_token=" + Properties.OAuth_token;
Uri sid = WebAuthenticationBroker.GetCurrentApplicationCallbackUri();
string callbackURL = sid.ToString();
var startUri =
    new Uri(goodreadsURL + "&oauth_callback=" + Uri.EscapeDataString(callbackURL));
WebAuthenticationResult result =
    await WebAuthenticationBroker.AuthenticateAsync(
        WebAuthenticationOptions.None,
        startUri,
        new Uri(callbackURL));
if (result.ResponseStatus == WebAuthenticationStatus.Success &&
    !result.ResponseData.Contains("&error="))
{
    [...]
}

在此处查看提及回调的文档:https://www.goodreads.com/api/documentation