在我的移动应用程序中,允许用户通过facebook(标准的azure移动服务facebooklogin)登录。
现在我想把它带到下一步。基于用户的facebook登录,我想通过facebook .net sdk访问他的个人资料。登录后,我想调用一个"getUserInfo"-从facebook返回信息的方法。所以整个facebook访问应该发生在后端。
这对于azure是可能的吗?如果是的话,最好的方法是什么?
在你的Mobile Services .NET后端,你总是可以通过调用(在控制器内)来获得Facebook令牌:
ServiceUser user = (ServiceUser)this.User;
FacebookCredentials creds = (await user.GetIdentitiesAsync()).OfType<FacebookCredentials>().FirstOrDefault();
string accessToken = creds.AccessToken;
然后你可以使用这个令牌与Facebook Graph API通信。
如果您希望能够访问公共配置文件之外的一组特定功能,您可能希望通过MS_FacebookScope
应用程序设置向登录请求添加权限。该值只是您希望使用的范围的逗号分隔列表。
你可能会发现这篇博客文章有助于更详细地解释上述内容:http://azure.microsoft.com/blog/2014/10/02/custom-login-scopes-single-sign-on-new-asp-net-web-api-updates-to-the-azure-mobile-services-net-backend/