2

我想将 WebAuthenticationBroker 用于带有 Pocket (http://getpocket.com) 的 oAuth。在http://getpocket.com/developer/docs/authentication中描述了 Pocket API 。问题是重定向uri。在他们的示例中,它被设置为 iOS 和 Android 的自定义协议。你如何在 WinRT 上处理这个问题?

当我提供一个空的重定向 uri 时它不起作用。当我提供像http://www.google.sk这样的 uri 时,我会看到 Pocket 的授权对话框,我授权我的应用程序并被重定向到http://www.google.sk。但是窗口不会关闭,我只能单击后退按钮,这会导致 WebAuthenticationResult 被取消。

4

2 回答 2

1

我相信答案是您必须使重定向 URI ms-app:// 才能使 WebAuthenticationBroker 正常工作。

于 2013-01-24T19:00:46.137 回答
1

WebAuthenticationBroker 需要一个回调 URI。如果在 Web 视图中调用此 URI,主机将结束导航并向代理发出信号- 如MSDN 上的 Web 身份验证代理工作流中所述。

您作为 POST 参数提交的 Pocket APIredirect_uri应该与WebAuthenticationBroker.GetCurrentApplicationCallbackUri.

您可以将其指定为第三个参数:

WebAuthenticationBroker.AuthenticateAsync(options, requestUri, callbackUri)

顺便说一句:
如果您需要一个简单的 Pocket API 包装器,我已经为 C# 构建了一个名为PocketSharp

于 2013-08-16T12:22:42.067 回答