Ping Ping Federate从IdP流注销,从Ping Federate 文档开始
序列
用户启动单个注销请求.该请求以PingFederate服务器的/idp/startSLO.ping端点为目标.
PingFederate发送注销请求并接收来自为当前SSO会话注册的所有SP的响应.
PingFederate将请求重定向到IdP Web应用程序的Logout Service,该服务在本地标识和删除用户的会话.
应用程序Logout Service重定向回PingFederate以显示注销成功页面.
但是,我对应用程序Logout Service有一点问题 ,需要在IdP适配器配置中设置.
问题是我有动态注销URL,因此我无法在注销服务中使用它.
目前我正在尝试初始化IdP发起的SLO.TargetResource在SLO成功之后,我正在为此将用户重定向到IdP.
https://idp.pf.com:9031/idp/startSLO.ping?PartnerSpId=testSpId&TargetResource=http%3A%2F%2Fdynamicsubhost.baseurl.com%3A8080%2Fweb%2Fmy-bank%2Flogout
Run Code Online (Sandbox Code Playgroud)
题 :
那么我怎样才能使PingFederate设置跳过Step 3,所以不是重定向到IdP Logout service它重定向到TargetResource.
我尝试过的:
我知道这听起来很俗气,但实际上我将IdP注销服务保持为空白.但显然它没有用.
PS尴尬的是,当我使用相同的PF服务器配置IdP和SP服务器时,它运行良好.但是,当我切换到单独的PF服务器实例来托管PingFederate服务器时,结果就出现了.
我正在尝试将Ping Federate集成为我的IdentityServer4实例的外部OIDC提供程序.当我启动外部登录流程时,我收到以下错误:
System.Exception: Correlation failed.
at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.<HandleRequestAsync>d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IdentityServer4.Hosting.FederatedSignOut.AuthenticationRequestHandlerWrapper.<HandleRequestAsync>d__6.MoveNext() in C:\local\identity\server4\IdentityServer4\src\IdentityServer4\Hosting\FederatedSignOut\AuthenticationRequestHandlerWrapper.cs:line 38
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.<Invoke>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Cors.Infrastructure.CorsMiddleware.<Invoke>d__7.MoveNext()
--- End of stack trace from previous location …Run Code Online (Sandbox Code Playgroud) PingFederate(版本7.1.3.1)上是否有任何端点,我们可以使用它来撤销OAuth访问令牌?
我正在使用 wsfederation(使用 pingfederate 作为 IDP)进行身份验证。这对于第一次获取访问令牌工作正常,但是当令牌过期时,我需要获取新令牌或刷新令牌。在 .NET 框架 4.7.2 中,它在我们使用WS2007FederationHttpBinding和WSTrustChannelFactory获取新令牌时工作正常。但是在 .NET CORE 中,我没有任何方法可以强制获取访问令牌。
有没有人知道如何通过从我的控制器调用 API 来获取新令牌?
鉴于:
高级问题:
鉴于:
https://[PingFederateInstance]/idp/startSLO.ping?PartnerSpId=[PartnerSpId])请求SLO端点。具体问题:
有意问这个问题的是如何在ASP.NET MVC应用程序即服务提供者中集成ping?我们有两个idps(身份提供商),我们必须实现服务提供商发起的SSO.
如果需要更多细节,请告诉我.
在我们开始研究如何将PingFederate集成到我们的基础架构之前的某个时间.
我们的初始用例如下:我们提供多租户访问我们的应用程序,不同的公司可能使用不同的(他们的)身份提供商来访问我们的应用程序.
现在流量仅限于此工作流程:多个 Idp(s)到一个SP
但是,未来的流程可能会扩展到多对多关系
目前我们使用NGINX作为反向代理,基于PingFed文档,我们现在很难理解部署选项.
基于本指南中的图表

这种集成对于apache httpd来说或多或少都很清楚.主要是apache PingFed Agent在apache上使用SSO流程,主要是验证"会话"或启动SSO流程.
Processing Steps
1. A user attempts to access a resource on the Apache server protected by the PingFederate
Apache Agent.
2. The user is redirected to the PingFederate server for authentication.
(If an OpenToken session already exists, the user is granted immediate access.)
3. The PingFederate server redirects the user’s browser to an IdP for authentication using either the
SAML or WS-Federation protocols. The …Run Code Online (Sandbox Code Playgroud) 在PingFederate中,我知道我们可以将元数据导出为XML文件,但是有一个我可以调用来访问它的URL吗?
OpenAM和ADFS似乎具有这样的功能,例如
PingFederate是否提供此类功能?
我们决定使用Ping Federate作为我们的SSO解决方案.我搜索过很多例子,但是没有找到一个弹簧配置,清楚地描述了我需要在PingFederate端设置我的SP和/或IdP.我还没有找到一个Spring文档来描述我需要什么来实现它.
任何帮助,非常感谢.
我们有一个由 OIDC 保护的 API(实际上是几个微服务)。授权服务器由我们的客户(不是我们内部的)拥有和管理,并向我们的 SPA 提供身份令牌。然后,该 SPA 将该身份令牌传递到我们的后端服务器,后端服务器验证令牌,提取主题 ID(用户),然后在内部数据库中查找他们的角色。我们不使用令牌进行授权(意味着我们忽略声明),它仅用于身份验证。
我们有一个在安全环境中运行的后端 Windows 服务(因此它可以安全地存储机密),需要调用相同的 API。为了调用 API,它需要 OIDC 身份令牌来提供身份验证。安全地做到这一点的最佳方法是什么?
我们研究了这些选项:
最好的选择是什么?
pingfederate ×10
saml-2.0 ×4
oauth-2.0 ×2
saml ×2
asp.net-core ×1
httpd.conf ×1
jwt ×1
nginx ×1
spring-saml ×1