我有两个问题:
非常感谢任何帮助,我实际上卡住了所以请提出任何建议。
您的意思是“电子邮件地址”属性,对,而不是实际的电子邮件?如果是这样,您应该能够使用/ users端点:https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_get
您想通过访问令牌访问的资源是什么?如果资源是https://graph.windows.net/,you可以使用Azure AD Graph API来获取登录用户的电子邮件信息:
GET https://graph.windows.net/me?api-version=1.6
Authorization: Bearer yourAccessToken
如果资源是https://graph.microsoft.com/,you可以使用Microsoft Graph API来获取登录用户的电子邮件信息:
Get https://graph.microsoft.com/v1.0/me
Authorization: Bearer yourAccessToken
作为回应,您可以检查UserPrincipalName声明值,该值是可以接收电子邮件的电子邮件地址。
对于用户名建议部分,如果您在谈论填写用户名表单字段并且上面弹出chrome / IE框时,则会在客户端缓存,您无法执行此操作。如果您正在谈论用户尝试使用已经使用的用户名进行注册,并且您希望向他们提供建议,但我对此表示怀疑,可以在自定义策略中执行此操作。但是,您可能需要使用自定义Web应用程序来执行此操作,因为这更像是一个高级路标。
您的需求的第二部分也需要在自定义Web应用程序中完成,您可以在自定义用户旅程中检索和访问AD项目,但这又是一个高级登录之旅。