我正在与Azure移动服务一起构建我的WP8应用程序。 我使用Twitter作为Azure的身份验证方法。 所以我使用以下代码登录:
user = await Client.LoginAsync(MobileServiceAuthenticationProvider.Twitter);
客户端是我的MobileServiceClient。
执行时,会触发WebBrowser打开并让用户登录等。 之后,“用户”对象被成功填充。 (.UserId)。
但是,我希望此登录只发生一次。因为下次用户打开应用程序时,他需要再次登录。
在另一个帖子(here)中提到的建议建议我自己使用之前获得的数据构建用户对象,如下所示:
var mobileServiceClient = new MobileServiceClient("<your-app-url>", "<your-app-key>");
mobileServiceClient.CurrentUser = new MobileServiceUser("Foo:123456789");
mobileServiceClient.CurrentUser.MobileServiceAuthenticationToken = "<your-users-JWT>";
但这在WP8中是不可能的...... MobileServiceUser没有带有1个参数的构造函数,当构造一个空用户时,UserId属性是只读的。此外,MobileServiceAuthenticationToken也不可用。所以这种方法不起作用。
我对Twitter本身的认证工作,我使用user.getIdentities获取了accessToken和accessTokenSecret,所以要清楚,问题是用我的azure移动服务进行用户身份验证..
还有其他建议吗? 提前谢谢!
答案 0 :(得分:0)
使用新的NuGet包 - http://nuget.org/packages/windowsazure.mobileservices
安装包WindowsAzure.MobileServices -Pre
注意:在发布时,此NuGet处于预发布状态。