我正在结合 Azure 移动服务构建我的 WP8 应用程序。我使用 Twitter 作为 Azure 的身份验证方法。所以我使用以下代码登录:
user = await Client.LoginAsync(MobileServiceAuthenticationProvider.Twitter);
其中客户端是我的 MobileServiceClient。
执行时,这会触发 WebBrowser 打开并让用户登录等。之后,“用户”对象被成功填充。(。用户身份)。
但是,我希望此登录只发生一次。因为用户下次打开应用时,需要重新登录。
其他线程(此处)中提到的建议建议我使用先前获得的数据自己构建用户对象,如下所示:
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 移动服务的用户身份验证..
还有其他建议吗?提前致谢!