我是联邦服务的新手,我正在尝试了解 ADFS 作为一个整体是如何工作的,并且我已经开始深入了解细节。我接着创建了一个使用 OIDC 来验证用户身份的应用程序,但是,在教程中,他们指定在设置应用程序组时使用“服务器应用程序”。这最终对我不起作用,所以我尝试为 kicks 设置一个“ native 应用程序”应用程序组并能够成功登录。
让我失望的是,我最终将 ADFS 托管在运行我的应用程序的域之外的服务器上,所以我对 ADFS 如何“原生”感到困惑。
我在微软的文档中寻找这个答案,但我没有找到非常清楚的信息。
native 应用程序:
“有时称为公共(public)客户端,旨在成为在 PC 或设备上运行并与用户交互的客户端应用程序。”
服务器应用程序:
“在服务器上运行并且用户通常可以通过浏览器访问的 Web 应用程序。因为它能够维护自己的客户端‘ secret ’或凭据,所以它有时被称为 secret 客户端。”
这对某些人来说可能看起来很简单,但我正在努力真正掌握什么时候使用什么。对我来说,当您在用户也在使用同一台电脑的电脑上本地运行应用程序时,听起来像是使用了 native 应用程序,而服务器应用程序是远程运行的,用户不会使用同一台机器.真的有那么简单还是我误会了?
最佳答案
native 应用程序(在 Microsoft 中)是不基于浏览器的东西,例如移动的。代码在客户端运行。它可以使用 JavaScript,在这种情况下, key 可以公开访问。 ( key 是 OAuth 参数之一)。您使用 ADAL/MSAL 访问它。
服务器应用程序在服务器端运行,例如 Web API。 key 不可公开访问。您使用 OWIN 访问它。
这些术语与 ADFS 的实际安装位置无关。 native 应用程序通常未加入域。
关于terminology - 在谈论 ADFS 应用程序组时, native 应用程序和服务器应用程序有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50338317/