Javascript Azure移动服务-获取更多用户信息
我继承了一个用XAML编写的Windows8应用程序。所以在C#我打这个电话的时候Javascript Azure移动服务-获取更多用户信息,javascript,node.js,azure,windows-8.1,azure-mobile-services,Javascript,Node.js,Azure,Windows 8.1,Azure Mobile Services,我继承了一个用XAML编写的Windows8应用程序。所以在C#我打这个电话的时候 user = await MobileServices.MobileService .LoginAsync(MobileServiceAuthenticationProvider.MicrosoftAccount); (这是针对Azure移动服务的) 用户对象仅为给我令牌和MicrosoftAccount: 为了对用户进行身份验证,我需要能够看到谁在请求访问 我在看下面这
user = await MobileServices.MobileService
.LoginAsync(MobileServiceAuthenticationProvider.MicrosoftAccount);
(这是针对Azure移动服务的)
用户对象仅为给我令牌和MicrosoftAccount:
为了对用户进行身份验证,我需要能够看到谁在请求访问
我在看下面这样的文章,但我似乎遗漏了什么?这篇文章中的javascript是我必须在Node.js中编写的吗
示例文章:
当前,要获取有关登录用户的更多信息,您需要再次致电服务以检索用户信息。您实际上不需要要求额外的登录范围(您提到的文章主题)来检索用户名,因为默认情况下,所有提供者都会提供用户名 应该有需要在服务器端(node.js)编写的代码,以获取有关登录用户的更多信息。TL;DR版本如下所示: 在服务器端:添加此自定义API(我将其称为“userInfo”,将GET权限设置为“user”,将所有其他权限设置为admin): 在客户端,成功登录后,调用该API:
user = await MobileServices.MobileService
.LoginAsync(MobileServiceAuthenticationProvider.MicrosoftAccount);
var userInfo = await MobileServices.MobileService.InvokeApiAsync(
"userInfo", HttpMethod.Get, null);
userInfo
将包含一个带有用户信息的JObject
。有一个开放的特性请求可以让它更好。好的,听起来我需要添加server Node.js代码,我应该在哪里添加?我有几个db azure表,所以我有一个“用户”表,其中必须为CRUD操作使用默认的node.js方法。会在那里加上这个吗?那么,如果node.js代码添加了一个名为“userInfo”的原因,那么c#userInfo是否包含用户信息?我觉得我遗漏了一部分。而且,这段代码似乎不是当前的var table=MobileService.GetTable(“标识”);var response=wait table.ReadAsync(“”);var identies=response.GetArray()[0].GetObject();response.GetArray…最好的地方是将其添加到自定义API中,正如我在上面的回答中所提到的(当写博客文章时,自定义API还不受支持,这就是为什么逻辑在表中实现的原因)。客户端中对InvokeApiAsync
的调用将调用该API,并且由于客户端已登录,它将向API发送身份验证信息。API将获取该信息(通过调用user.getIdentifies
)并联系身份验证提供商以获取有关该用户的更多详细信息。在看到您的评论之前,请阅读您关于创建自定义API的文章!谢谢,正在努力!!!什么是liveAccessToken,传入该变量?这将是链接到与azure帐户关联的live帐户的静态令牌吗?
user = await MobileServices.MobileService
.LoginAsync(MobileServiceAuthenticationProvider.MicrosoftAccount);
var userInfo = await MobileServices.MobileService.InvokeApiAsync(
"userInfo", HttpMethod.Get, null);