截至2016年10月,仍然是Microsoft身份验证库(MSAL - NuGet包:Microsoft.Identity.Client)是与Xamarin(iOS/Android)和Azure AD B2C服务一起使用的正确/唯一库吗?此库(MSAL)仅作为alpha提供,并且似乎不处于主动维护或开发状态(自4月以来).
有迹象表明,Active Directory身份验证库(ADAL - NuGet包:Microsoft.IdentityModel.Clients.ActiveDirectory)旨在作为Microsoft的"一个Azure身份验证库 - 规则 - 所有人",它支持Xamarin; 它也在积极维护,并且不处于"alpha"或"beta"状态.
了解Microsoft过去曾指出Azure AD B2C开发人员使用MSAL库,是否可以使用ADAL库在Xamarin应用程序中验证Azure AD B2C用户?是否有人可以指向我的博客或示例代码,这将演示如何执行此操作?
截至今天,文档建议使用 Microsoft Graph 而不是 Azure AD Graph API 来访问 Azure AD/B2C 资源。
之前,使用 Azure AD Graph API,我们可以使用https://graph.windows.net/[tenant]/users/1a2a9c4d-fc59-4fd9-ad14-b72b549cdf6a?api-version=2013-11-08等查询
响应包含 Azure B2C 自定义属性(在 Azure 门户上创建)
{
"odata.metadata": "https://graph.windows.net/<tenant>/$metadata#directoryObjects/Microsoft.DirectoryServices.User",
"value": [
{
"objectId": "00000eab-603a-4de2-9d25-d3821e7d6583",
...
"extension_3a4189d71ad149c6ab5e65ac45bd6add_MyAttribute1": "something"
}
]
}
Run Code Online (Sandbox Code Playgroud)
Graph API 不会发生这种情况,仅返回一些“基本”属性 https://graph.microsoft.com/v1.0/users/00000eab-603a-4de2-9d25-d3821e7d6583
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
"id": "00000eab-603a-4de2-9d25-d3821e7d6583",
...
}
Run Code Online (Sandbox Code Playgroud)
还尝试显式选择属性但未返回扩展值
...graph.microsoft.com/v1.0/users/00000eab-603a-4de2-9d25-d3821e7d6583/?$select=id,extension_3a4189d71ad149c6ab5e65ac45bd6add_MyAttribute1
如何使用 Graph API 读取 Azure B2C 自定义属性?
Microsoft Graph 是否已经具有 Azure AD B2C 用户 CRUD 的功能?
我发现了这些相关的问题:
但是两者都有 2017 年的答案,所以我想知道是否已经有我不知道的 Microsoft 更新。我仍然没有在我的搜索中找到。
以下是我迄今为止发现的似乎相互冲突的链接(其他问题中也提到了一些链接)。
在(D) 中,它似乎为用户 CRUD 提供了选项,但我不确定它是否仅适用于 Azure AD 而不适用于 Azure AD B2C。
任何帮助表示赞赏。谢谢!
A. Azure AD B2C:使用 Azure AD Graph API(日期:08/07/2017)
https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts -graph-dotnet
它说:您必须使用 Azure AD Graph API 来管理 Azure AD B2C 目录中的用户。这与 Microsoft Graph API 不同。在此处了解更多信息。
B. 对用户的操作 | 图 API 参考(上次更新:2/12/2018)
https://msdn.microsoft.com/en-us/library/azure/ad/graph/api/users-operations
它说:我们强烈建议您使用 …