Ping Identity 是否设置了任何包含登录人用户名的环境变量?

Does Ping Identity set any environment variable containing the username of the person logged in?

我想在我的代码中使用这个用户名,但我不知道它是否在环境变量中提供。谢谢!

其他信息:我正在使用 PingFederate 和 Ping One。
我的网站基于 C sharp,它用于获取用户名的 windows 环境变量。现在我希望它更改为通过 ping 登录的用户 identity.Is 可以这样做,在这种情况下我应该获得哪个 SDK(我假设 .net 集成工具包对吗?)?

作为 IIS 上的 .NET 托管应用程序,您的应用程序将被视为服务提供商 (SP)。在此架构中,PingFederate 是身份提供者 (IdP)。这是一种代理身份验证设计模式,或更普遍地称为单点登录 (SSO)。当 PingFederate 对用户进行身份验证时,会将包含用户名的令牌发送到您的应用程序。您的应用程序中的代码(或库)将处理令牌,然后读出用户名。

以下是您可以用来解决问题的选项列表:

  1. WS-Federation 协议使用 Windows Identity Foundation (WIF) 库。 PingFederate 端的配置非常简单,您只需集成您端的 WIF 库即可。建立 WIF 库和关联的 web.config 配置后,您可以读取传递给应用程序的声明对象。
  2. 使用 OWIN 中间件的 OpenID Connect (OIDC) 协议。这也是一个利用开放标准的本地 MS 解决方案。这将要求您对 OWIN/Katana 有一定的了解,因为在线示例并不完全详尽。 PingFedeate 支持 OIDC 协议,这也是一个非常简单的配置。
  3. PingFederate 无代理集成工具包。集成工具包安装在 PingFederate 上,易于配置。它本质上是 PingFederate 和您的应用程序之间的 REST 接口,用于提供包含用户名等身份信息的 JSON 对象。您的应用程序需要为 PingFederate 实施 REST API。
  4. PingFederate .NET 集成工具包。此解决方案实施 PingFederate Opentoken 解决方案,用于在您的应用程序和 PingFederate 之间交换属性。用于处理 Opentoken 的 .NET 代码库由集成工具包提供给您,您只需将它们与大约 10 行代码一起集成到您的代码基线中即可读取 OpenToken 以获取用户名。 PingFederate 上的配置很简单。