gpt4 book ai didi

c# - 使用 WPF 客户端和 Active Directory ADFS 对 Cloud NodeJS 后端进行身份验证

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:08 25 4
gpt4 key购买 nike

我过去问过类似的问题:Understanding ADFS Login With Windows Native WPF Client我似乎更好地了解了如何在 WPF native Windows 应用程序上使用事件目录 ADFS 进行身份验证(我可以使用 ADAL 库),但我仍然不知道如何将该身份验证传输到远程服务器(NodeJS服务器)

我还发现我可以执行类似的操作,以便 native WPF 应用程序查找当前登录的用户,并且通过使用此功能,WPF 知道用户是合法的,因为他们登录了他们的 Windows 帐户。

var context = new PrimaryContext(ContextType.Domain, DOMAINNAME);
var user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, Environment.UserName);

但是,我不知道如何将此身份验证传输到我们的远程 NodeJS 服务器(没有 UI,WPF 应用程序就是 UI)。我可以发送我们的远程应用程序详细信息,例如 samAccountName 是 this,但任何人都可以发送到我们的远程服务器并声明他们的 samAccountName 是 this。 WPF 知道用户是合法的,但我们的 NodeJS 应用程序无法验证这一点。如果我向 WPF 应用程序添加私有(private)证书以供 NodeJS 服务器进行验证,则可以反编译 WPF 应用程序以获取证书。我该如何解决这个问题?

最佳答案

您正在考虑在错误的上下文中进行身份验证。例如由于 Node 服务器为您提供服务,因此每个客户端都应该向 Node 服务器标识自己才能使用 Node 服务。在您的实现中,您从 AD 对 wpf 进行身份验证,这是可以的,但是 WPF 应用程序充当 Node 服务器的客户端,因此应该有另一个身份验证来提供有效的 wpf 客户端已连接到服务器的声明。

现在说到重点,您想要从 AD 验证 WPF 客户端 + Node 服务器。在这种情况下,实际上您是从某个源(即 AD)验证这两个应用程序。为此,您需要一些中间件,它可以验证这两个应用程序。

这种情况的答案是 Microsoft Identity Server。请访问一些教程,希望它能解决您的需求。

关于c# - 使用 WPF 客户端和 Active Directory ADFS 对 Cloud NodeJS 后端进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53734796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com