首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在使用OneDrive SDK进行身份验证时获取用户信息

如何在使用OneDrive SDK进行身份验证时获取用户信息
EN

Stack Overflow用户
提问于 2017-09-10 17:53:24
回答 1查看 174关注 0票数 0

我正在构建一个Azure应用服务,它同时拥有Windows (不是UWP)和iOS客户端。我想使用Microsoft帐户身份验证来验证用户。

由于前面的一个问题,here,我现在可以使用OneDrive SDK对用户进行身份验证,但是遇到了下一个障碍。One Drive SDK似乎没有提供对用户详细信息的访问,例如他们的给定名称和电子邮件地址。

请有人向我指出一个示例或说明的方向,用于验证来自旧学校桌面应用程序的用户,以允许他们使用他们的Microsoft帐户(而不是Azure AD)访问Azure应用程序服务,该帐户还将为客户提供访问他们的电子邮件地址的权限,并且不使用折旧后的技术。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-11 06:13:57

在通过Easy Auth进行身份验证之后,我们可以通过调用类似于下面的代码从me端点(https://{yourSiteName}/.auth/me)获取用户信息:

代码语言:javascript
代码运行次数:0
运行
复制
var result =await client.InvokeApiAsync("/.auth/me");

为了获取电子邮件,我们在使用wl.emails SDK进行身份验证时需要OneDrive范围。在此之后,我们可以从me端点获得以下名称和电子邮件:

代码语言:javascript
代码运行次数:0
运行
复制
string email=(string)result[0].SelectToken("$.user_claims[?(@.typ == 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress')]")["val"]

string givenName=(string)result[0].SelectToken("$.user_claims[?(@.typ == 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname')]")["val"]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46143811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档