0

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

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

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

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

4

2 回答 2

3

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

于 2013-08-05T16:45:37.733 回答
0

实现一个像http://en.wikipedia.org/wiki/HTTP_cookie这样的 Cookie Mechanizem

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

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

于 2013-08-04T10:57:15.203 回答