1

我有一个使用 Microsoft Live 进行身份验证的 Windows 应用商店应用程序。授权后,我有一个身份验证码和一个访问令牌。我已在身份验证标头中包含身份验证令牌并调用 Web 服务。

在 Web 服务中,我将访问 Dynamics AX 2012 并将设置一个基于声明的用户来访问它。因此,我需要知道实时用户名,以便在从 Web 服务登录 AX 时指定它。

我能找到的唯一能够检索实时用户名的方法是使用 REST api 在 wl.emails 范围内询问我的个人资料详细信息。问题是我需要在验证客户端应用程序时获得的访问令牌。

我看到的选项:(没有任何顺序)

  1. 在标头中传递访问令牌,以便我可以在服务器端使用它来请求电子邮件地址

  2. 在标头中传递实时用户名,因此我不需要在服务器端请求它

  3. 找到一些基于有效身份验证令牌请求访问令牌的方法,以便我可以请求电子邮件地址

有没有人对如何解决这个问题以及传递访问令牌之类的东西是否会是不好的juju有任何建议?

非常感谢

4

1 回答 1

3

答案嵌入在 Microsoft Live Connect 开发者论坛中:

http://social.msdn.microsoft.com/Forums/live/en-US/c6dcb9ab-aed4-400a-99fb-5650c393a95d/how-retrieve-users-contacts-email-address

使用 Live SDK 登录时,将参数更改为“wl.emails”(而不是 wl.basic)

var result = await liveIdClient.LoginAsync(new[] { "wl.emails" });

Windows 8/Live SDK 会弹出一个对话框,通知客户端应用程序正在请求用户的电子邮件地址。

如果用户确定了这个;

...在返回的键/值中,其中一个元素将是“首选”,其值是用户的首选电子邮件地址

高温高压

于 2013-09-17T06:28:58.700 回答