Windows phone 8 Azure移动服务跨W8.1和WP8.1的SSO

Windows phone 8 Azure移动服务跨W8.1和WP8.1的SSO,windows-phone-8,single-sign-on,windows-8.1,azure-mobile-services,Windows Phone 8,Single Sign On,Windows 8.1,Azure Mobile Services,我想要什么 我想在Live Connect SDK和单个移动服务实例之间允许应用内SSO,我将使用该实例作为两个应用程序(WP8和W8.1)的后端。我希望这样做不会影响Windows Phone应用商店中已有的WP8应用程序的现有用户。两个应用程序都将使用Live SDK访问OneDrive 现状 我有一个使用Azure移动服务和Live Connect SDK的Windows Phone 8应用程序,我已经通过 在Live Connect开发者中心注册应用程序 将开发者中心中的重定向URL设置

我想要什么

我想在Live Connect SDK和单个移动服务实例之间允许应用内SSO,我将使用该实例作为两个应用程序(WP8和W8.1)的后端。我希望这样做不会影响Windows Phone应用商店中已有的WP8应用程序的现有用户。两个应用程序都将使用Live SDK访问OneDrive

现状

我有一个使用Azure移动服务和Live Connect SDK的Windows Phone 8应用程序,我已经通过

在Live Connect开发者中心注册应用程序 将开发者中心中的重定向URL设置为Live Connect身份验证令牌中使用的移动服务URL 将客户端ID复制到我的应用程序中,并在我登录时将其传递给Live Connect SDK方法 登录后检索Live Connect身份验证令牌并将其传递给移动服务登录 问题

这很好,但现在我想开始构建一个配套的Windows 8.1应用程序,它使用相同的移动服务实例和SSO,但我遇到了如下困难:

与Windows 8.1应用程序关联的Live Connect Developer Center应用程序需要具有程序包SID,而我能找到的唯一方法是在Visual Studio中使用“将我的应用程序与Windows应用商店关联”工具。这将在Live Connect开发者中心中创建一个具有Windows 8.1软件包SID的新应用程序。我找不到任何方法将此软件包SID添加到我现有的Live Connect应用程序,即用于WP8应用程序的应用程序。 我认为我需要为我的WP8和W8.1应用程序使用一个共享的Live Connect开发者中心应用程序和关联的客户端ID,因为Live Connect的身份验证令牌似乎包含“用户标识符-uid”,即“用户的标识符,对应用程序来说是唯一的”。对我来说,这也意味着,如果我更改了客户端ID,即从Live Connect的角度来看,实际上是一个新的应用程序,那么在移动服务中,它将看起来像是一个新用户正在登录,他们的所有旧数据将不再可访问。 我研究过其他人在这两个平台上执行SSO,他们似乎在Live Connect开发者中心使用一个应用程序,但到目前为止,我所看到的所有情况下,他们都使用Windows 8.1应用程序,因为它有软件包SID,并将其设置为“移动或桌面客户端应用程序”。我已经从另一个方向开始使用手机应用程序,但我找不到任何相关信息。我还试图避免在一个实时应用程序中测试这一切,以防它引起问题

我已经在和Live Connect论坛上发布了关于这些问题的帖子,但没有回复。我只能提供2个链接,请在移动服务论坛查看我的个人资料,查看我的其他帖子

我的问题

如何将Azure移动服务SSO添加到新的Windows 8.1应用程序中,而不破坏现有的WP8应用程序


谢谢。

看起来这个问题可能已经在这里讨论过了:


希望有帮助

马修·亨德森在

简化版本是,您需要在开发者中心使用一个Live Connect应用程序,即W8.1和WP8应用程序使用的相同客户端ID

为此,您需要:

从Windows 8.1应用程序开始,该应用程序将向Live Connect应用程序注册SID这是记录在案的最简单路径,然后在Windows Phone 8应用程序中重新使用此客户端ID


b如果您已经像我一样拥有Windows Phone 8应用程序,那么您可以在Live Connect开发者中心更改自动创建的SID关联,以允许Windows 8.1应用程序使用现有的Windows Phone 8客户端ID。这是一个文档较少的功能。

感谢您的建议。我应该指定我使用的是Live SDK,因为我也使用OneDrive,所以我想使用Live Connect登录一次,然后将该令牌传递给移动服务。我想你说的是,如果我只是使用移动服务,那么我就可以直接登录了?我编辑了我的答案,将其链接到上的另一个答案,这样看起来可以解决您的问题。再次感谢您的努力,但该链接无法解决我的问题。我可以让SSO在WP8或W8.1上使用Live Connect和移动服务,但在我第一次使用WP8应用程序时,不能同时使用这两种服务。我会编辑我原来的帖子,让它更清晰