我正在尝试创建一个桌面程序,它将与在线待办事项列表管理器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);
答案 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控件为你的应用程序获取它,然后继续使用来自桌面客户端的令牌进行调用。