在 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单点登录,但建议的答案不适用于我的情况。
有什么想法吗?
我认为
这可能表明 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