iam目前正在研究如何为我们的WebService实现单点登录。 这就是我到目前为止所提出的。
这是我的问题开始了。 当然,我需要以某种方式将AzureAD提供的身份映射到我们的WebService的某个帐户 - 我们不能简单地使用提供的身份。
据我了解,您可以授予AzureAD以当前登录用户名称在目标WebService上创建帐户的权限。 (其名称为:在天蓝色管理门户中启用自动用户配置)。
然而,当使用Box,Canvas或Google应用程序测试时,我失败了。要么我得到一个错误,或者在谷歌应用程序的情况下,我只是被允许登录我的天蓝色AD测试帐户,然后要求我的密码和我的谷歌帐户的用户名(我将SSO设置为天蓝色的AD信任关系 - 所以这不应该发生)
有人可以提供一些有关如何完成以下操作的见解吗?
一旦用户通过SSO进行身份验证,我想为我们的WebSerivce创建一个帐户,然后仅将该用户的凭据保存在该特定用户的Active目录中。 因此,如果用户第二次登录,我们可以检查是否存在已存在的帐户,并使用此帐户登录用户。
(微软告诉我,这可能是Azure Rights Management的可能,但我真的找不到那方面的好文档)
存储关系:我们不希望“Microsoft AD Identity< - >我们的WebServiceAccount凭证”,因为我们不能以我们不知道在那里知道什么的方式安全地加密数据。 (或者有,我还不知道)
“奖金问题”: 我也可以支持桌面应用程序的SSO吗? (我是否需要提供代理Web应用程序,或者桌面应用程序可以直接执行此操作吗?)
答案 0 :(得分:2)
请在此处查看我对类似问题的回答:asp.net azure active directory user profile data
但是 - 我想知道你是否需要不同的东西。您是否希望您的客户已拥有目录和Azure AD帐户(可能通过Office 365订阅),并使用这些帐户登录您的Web应用程序,或者您的应用程序方案是否需要在客户的Azure中创建/配置用户帐户AD目录?只要客户的管理员同意允许您的应用程序写入其目录,就可以通过图形API(根据您的链接)完成配置。您可以在github上找到一些示例,我建议您查看https://msdn.microsoft.com/en-us/library/azure/dn499820.aspx和https://msdn.microsoft.com/en-us/library/azure/dn646737.aspx代码示例。
HTHS,
答案 1 :(得分:1)
我认为,没有测试它。使用Graph API,我可以为任何目录用户保存自定义数据,从而有效地实现我所需的功能。 这是我发现非常有用的文档。