在WP7上使用Google oAuth

Pra*_*dda 6 c# windows-phone-7 oauth-2.0

我试用了一个使用Google任务服务的Windows Phone 7的小应用程序,问题是我无法通过登录.

我已阅读文档中提供的所有步骤,并根据我需要使用Web控件登录的文档
http://code.google.com/apis/accounts/docs/OAuth2.html#IA.

有什么办法我可以期待用户名密码并在后台获取身份验证令牌吗?

Chr*_*nty 15

您可以使用ClientLogin在后台执行操作,但它正在被替换(缓慢)并且不适用于所有Google帐户(两步),因此我建议您坚持使用oAuth2,它绝对有效.

我怎么做是打开一个WebBrowser控件,确保IsScriptEnabled="true"然后指向它

https://accounts.google.com/o/oauth2/auth?client_id=xxx&redirect_uri=https://www.mydomain.com/oauth2callback&scope=xxx&response_type=code
Run Code Online (Sandbox Code Playgroud)

真正重要的部分是重定向网址.然后Navigating,您WebBrowser可以为控件连接一个方法,以拦截重定向到该URL.

<phone:WebBrowser Name="webbrowser" Navigating="webbrowser_Navigating" IsScriptEnabled="true" />  

private void webbrowser_Navigating(object sender, NavigatingEventArgs e) {
  if (e.Uri.Host.Equals("www.mydomain.com")) {
    e.Cancel = true;
    HandleOAuthResponse(e.Uri.Query);
  }
}
Run Code Online (Sandbox Code Playgroud)

这将返回查询字符串谷歌重定向code=xxx,您可以使用该重定向跟随其余文档并将其交换为持续30分钟的令牌和刷新令牌以保持身份验证活动.