我有一个可以在多个 Windows 8 设备(例如手机和平板电脑)上运行的应用程序。我需要一种流畅(不一定安全)的方式来识别跨应用程序的用户。对于 Windows Phone 8,ANID2 是一个选项。对于 Windows 8,我之前使用了 HardwareIdentification 中的硬件令牌,但如果同一台机器上有多个用户,这不一定能识别用户。
实时身份验证对我来说不是一个选项,我希望能够在两个应用程序中识别同一个用户。有什么办法可以解决这个问题,还是我被迫创建自己的帐户管理系统?
我有一个可以在多个 Windows 8 设备(例如手机和平板电脑)上运行的应用程序。我需要一种流畅(不一定安全)的方式来识别跨应用程序的用户。对于 Windows Phone 8,ANID2 是一个选项。对于 Windows 8,我之前使用了 HardwareIdentification 中的硬件令牌,但如果同一台机器上有多个用户,这不一定能识别用户。
实时身份验证对我来说不是一个选项,我希望能够在两个应用程序中识别同一个用户。有什么办法可以解决这个问题,还是我被迫创建自己的帐户管理系统?
不幸的是,Windows 8(或 8.1)没有这样的 API。硬件令牌(又名 ASHWID)特定于应用程序/设备组合。不同的应用程序和不同的设备获得不同的价值(不是你想要的),同一设备上的不同用户获得相同的价值(也不是你想要的)。
EAS 客户端 ID 在每个应用程序中同样经过加盐处理,因此它没有用处。
Windows 8.1 引入了 Advertising ID,但此值也不合适(对于设备上同一用户的所有应用程序都相同,但它不会漫游到其他设备,并且可以由用户禁用/重置)。
您可以创建一个随机标识符并将其放置在漫游存储中,以便您可以跨不同设备识别同一用户(deeiip 的建议),但这不适用于跨应用程序。
如果您不想建立自己的服务,让用户登录另一个服务(Live、Facebook、Google 等等)是您唯一真正的选择。
如果您不想使用任何第三方服务。要识别用户,您必须首先标记他们,即您必须id
为每个用户(可能是 a guid
)分配一个并将其存储在客户端。当您想知道用户时,您只需发送此id
. cookie
当您将 a 存储在浏览器中时(几乎)会完成完全相同的事情。
但是,如果您真的想使用简单的解决方案,我建议您使用Amazon Cognito