使用在线Web服务验证基于桌面的程序(rememberthemilk.com)

时间:2010-03-01 05:51:58

标签: c# web-services authentication

我正在尝试创建一个桌面程序,它将与在线待办事项列表管理器rememberthemilk.com进行交互。身份验证过程的最后一步是启动一个链接,用户可以登录该服务并验证他们是否允许程序访问其帐户。

但是,现在我无法确定他们何时实际告诉Web服务授权我的程序。有谁知道我该如何弄清楚该人何时授权或拒绝该计划?

这是我目前正在使用的代码:

String url = this.GetAuthenticationUrl(frob, 
    AuthenticationPermissions.Write);

//open external webpage to make user authenticate this program with RTM
System.Diagnostics.Process.Start(url);

this.AuthToken = this.GetToken(frob);

1 个答案:

答案 0 :(得分:1)

Remember the milk's user authentication API的设计考虑是可以从其他网站访问,因为他们的身份验证方案将使用frob参数集回调您网站上的网页,然后将其用作令牌致电rtm.auth.getToken

因此,如果您想在桌面上执行此操作,则需要使用回调网址设置网站。

您要做的是创建用户身份验证的步骤1-4中指示的URL。使用带有WebBrowser控件的Form会更容易,因为完成后可以更好地控制显示。

在服务器上,当使用frob参数调用回调网址时,我会让服务器调用rtm.auth.getToken,然后返回JSON或XML或某种结构化文档返回哪个会有令牌或错误。

从那里,如果你有令牌,你可以通过WebBrowser控件为你的应用程序获取它,然后继续使用来自桌面客户端的令牌进行调用。