多个WinRT应用程序的通用登录

本文关键字:登录 WinRT 应用程序 多个 | 更新日期: 2023-09-27 18:26:12

我有两个WinRT应用程序,它们为会话请求相同的登录服务。每个应用程序中都有一个全局HttpClient(以及一个cookiecontainer),用于保存cookie以供进一步请求。

目前,如果用户登录应用程序a并打开应用程序B,则用户必须再次登录(即使会话尚未超时)。

如果用户登录了一个应用程序,我不希望他再次登录。我怎样才能做到这一点?如何在应用程序之间共享此HttpClient对象?

编辑:会话由Cookie维护。如何在客户端保存cookie(以及超时值),以便其他应用程序可以访问它?

多个WinRT应用程序的通用登录

这将很难在多个应用程序之间共享cookie/信用。你可以做的一件事是使用CredentialLocker来探索其中的一些信息。在Windows 8.1中,如果您使用标准身份验证代理,则可以为提供商(用户选择加入)保存凭据信息,以使AppB更容易第二次登录(不是自动登录,而是预先填充凭据)

暗示类似Cookie机械化http://en.wikipedia.org/wiki/HTTP_cookie

例如,当用户登录到应用程序时保存在注册表中的用户名和随机生成的GUID在服务器中保存相同的GUID以及过期日期。

每次用户尝试登录时,请在注册表中检查Cookie条目,如果找到,请将您的用户名和GUID发送到服务器,如果GUID有效且Cookie未过期,则允许登录。