如何在UWP中验证用户身份并获取其帐户详细信息?

时间:2016-03-11 14:47:20

标签: c# windows-10 win-universal-app onedrive microsoft-graph

我是UWP的新手,我正在尝试创建一个包含使用Microsoft帐户登录的应用程序。问题是我非常困惑我应该使用什么API以及如何进行身份验证。

经过长时间的搜索,我发现Microsoft拥有适用于所有内容的API和SDK - Outlook,OneDrive,Live,Office365,Microsoft Graph等。但是没有明确的文档,开发人员应该使用什么来验证用户并获取他的帐户详细信息如姓名和电子邮件。

似乎Live SDK可以解决这个问题,但Microsoft表示此SDK是遗留的,开发人员应该使用OndeDrive SDK。但OneDrive不适合我的需求,我无法获得用户的电子邮件地址,而且我必须拥有开发者帐户,因此我可以构建一个示例应用程序来测试它。这对于测试来说太多了,不是吗?

经过更多研究后,我发现Microsoft Graph可以提供帮助,但似乎只是出于商业目的或者我错了?

因此,简而言之,我尝试实现的是制作一个允许用户使用其Microsoft帐户登录的应用。身份验证成功后,我需要获取他的帐户详细信息,以便我可以在应用程序中为他建立个人资料。所有这些我都希望在不需要开发人员或企业帐户的情况下完成。

希望有人可以提供帮助,因为Microsoft文档非常令人困惑。

1 个答案:

答案 0 :(得分:0)

Microsoft Graph确实支持您使用Microsoft帐户登录,然后访问用户的基本配置文件及其个人消费者OneDrive和Outlook。令牌获取是通过新的v2端点实现的(融合身份验证,允许您为已登录的用户获取令牌,无论他们是通过Microsoft帐户的消费者用户还是通过Azure AD的商业/企业/学校用户)。

我建议看看几个地方。其中一个地方是https://graph.microsoft.io/en-us/docs/authorization/converged_auth,此处有应用注册和令牌获取:https://azure.microsoft.com/en-us/documentation/articles/active-directory-appmodel-v2-overview/这里是Windows应用的开始使用:https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-devquickstarts-wpf/。注意:最后一个使用预览/实验客户端库。

希望这有帮助,