- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这就是我想要做的。
我们有一个 SSO 身份验证服务,其他面向外部的网页和服务使用它来对用户进行身份验证。用户尝试访问服务,如果没有找到包含身份验证 token 的 cookie,他们将被重定向到 SingleSignOn 身份验证服务。身份验证服务正常工作,并将用户 (HTTP 302) 重定向到原始 URL,并在 URL 中使用其加密的身份验证 token 。太好了。
如何从 WCF POX 服务调用它?这里没有 SOAP,只有带有 XML 响应的 HTTP GET/POST。
我目前正在做的是,在每个服务方法实现方法中,检查 cookie 的 header 。如果 cookie 存在,则验证身份验证 token 并处理请求。如果 cookie 不存在或授权 token 已过期,则响应:
WebOperationContext.Current.OutgoingResponse.StatusCode = System.Net.HttpStatusCode.Redirect;
WebOperationContext.Current.OutgoingResponse.Location = string.Format( authServiceURL, returnURL );
这行得通,但没有与任何 WCF 功能集成,并且需要我为一大堆场景手动编码。有没有一种方法可以使用这些类来实现:
<serviceCredentials>
<issuedTokenAuthentication>
</issuedTokenAuthentication>
或使用其他方式检查对服务的每个请求?
我一直在阅读如下页面:How to: Create a Custom Token ,但我看不出它如何满足我的需求。
如有任何建议,我们将不胜感激。我正在研究这个,因为在我的项目开始之前我还有一些时间,我想正确地实现这个项目并尽可能多地了解 WCF。
最佳答案
我不想回答我自己的问题,但我会发布我最终为此所做的事情。
我们有一个身份验证服务,我们可以将 (Http 301) 客户端重定向到,在 url 中附加身份验证 token 后将它们重定向回我们的服务。使用它,这是我的服务所采取的步骤。
我添加了一个 System.ServiceModel.ServiceAuthorizationManager 实现,并覆盖了 CheckAccessCore 方法以检查 cookie/ header 或 url 中的身份验证 token 。如果找到,我会验证 token 是否有效。该方法仅返回 true 或 false,表明请求是否通过了身份验证。如果消息通过,我创建了一个 IExtension 对象来包含一些数据并将其添加到 OperationContext 扩展中。
我还添加了 IDispathMessageInspector 的实现。这有 AfterReceiveRequest 和 BeforeSendReply 方法。我使用 BeforeSendReply 方法来劫持响应。如果消息未通过身份验证(在 OperationContext 扩展中没有我的 IExtension 对象),我将 WebOperationContext.Current.OutgoingResponse.StatusCode 设置为重定向,并将 Location 设置为身份验证服务的 url。
如果确实通过了身份验证,我确保身份验证 token 位于 BeforeSendReply 方法的响应消息 cookie/ header 中。
This article帮助我弄清楚如何连接起来。这是最好的方法吗?不知道。但这适用于我的 WCF/REST 服务。它阻止所有未经身份验证的消息进入我的 ServiceContract 实现,将所有请求重定向到身份验证服务。
关于xml - WCF - SSO 身份验证 token 和 POX 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3338380/
我在 PingFederate 中配置了 IDP 发起的 SSO,它显示 SSO 应用端点 为:https://myserver/idp/startSSO.ping?PartnerSpId=sp_id
我在 PingFederate 中配置了 IDP 发起的 SSO,它显示 SSO 应用端点 为:https://myserver/idp/startSSO.ping?PartnerSpId=sp_id
我正在尝试使用我的 Office 加载项实现 SSO。为此,我使用 Office IdentityAPI,它要求您拥有一个应用程序 ID URI,该 URI 有一些限制(例如您拥有该域并且正在验证该域
谁能向我解释一下SP发起的SSO和IDP发起的SSO之间的主要区别是什么,包括哪一个是联合实现单点登录的更好解决方案与 ADFS + OpenAM 联盟? 最佳答案 IDP 启动 SSO 来自 Pin
我正在将 Azure Active Directory 配置为 Salesforce 的 SSO 身份验证提供程序。我已经在 Azure 中注册了该应用程序。当我尝试在 Azure 中为注册的应用程序
我正在将 Azure Active Directory 配置为 Salesforce 的 SSO 身份验证提供程序。我已经在 Azure 中注册了该应用程序。当我尝试在 Azure 中为注册的应用程序
我们将 AWS 控制台联合到我们的 Shibboleth IdP (SAML)。 AWS CLIv2 是否支持使用联合账户通过 SSO 访问 CLI?如果是这样——我在哪里可以找到下面链接中列出的“S
我在使用 Jira 插件时遇到多个问题:“Azure Active Directory 单点登录 (SSO) 与 Microsoft 的 JIRA SAML SSO 集成”。 问题: 安装插件时会出现
使用 IdentityServer3、Kentor.AuthServices 0.19(带有 OWIN 中间件)和标准 MVC 4 WebApi 2 应用程序,我们按照 https://github.
有关单点登录(SSO)之前有写过两篇文章 一文读懂 JWT! 看完这篇不能再说不懂SSO原理了! 如果说XXL-JOB你可能并不陌生,它是非常火爆的一个分布式任
我正在为 使用 WSO2 身份服务器SSO 与 saml 在我的演示应用程序中。 我的要求是用户应该向服务提供商登录页面提供登录凭据,而不是身份提供商页面。 出于同样的目的,我关注了 Asela 的以
我对如何使用 SiteMinder 和 OpenSSO 管理以下场景感兴趣 给定两个 Web 应用程序,并强制要求在它们之间使用 SSO。应用程序 A 是一个简单的应用程序,仅需要用户名/密码组合。应
我有一个现有的Wordpress网站。计划是使用cakePHP框架重建站点。由于时间限制,我想一次替换一个Wordpress网站的各个部分。这意味着两个应用程序将并排运行一段时间。我需要使用Wordp
我想在两个网络应用程序之间执行单点登录。这是我的场景: 应用程序 A 和 B(均提供 RESTFUL API)。 应用 B 使用基于表单的身份验证,我无法对应用 B 进行任何修改。此外,应用 A 和应
我是 Cypress 和 JS 的新手。如果未登录,我正在测试的应用程序将重定向到 stub IDP 页面。该应用程序也支持基本身份验证。我在测试中所做的就是cy.visit("https://use
我想为我的自定义 SPA 添加 Azure AD 身份验证。我已在 Azure 门户的应用程序注册中注册了该应用程序。 当我使用 API 调用此“APP”时,我可以获得登录屏幕和 MFA,但登录到 A
我正在尝试设置现有的 ASP.NET Web 应用程序以使用 SAML 或 OAUTH 2.0 对 Azure Active Directory 帐户进行身份验证。教程仅向我展示 MVC 中的示例代码
我正在尝试在基于 spring 的 Web 应用程序中实现一个简单的 SSO 功能。场景: 我有一个主应用程序 Application1 和一个辅助应用程序 2。两者都有自己的登录机制(使用 spri
我已经搜索了这个问题的答案,但是找不到任何答案。 我有一系列要使用同一Facebook应用程序的iOS应用程序。 SSO与我创建和测试的第一个应用程序完美配合。但是其他所有方法都失败,并返回了unkn
我发现 NTLMAuthenticationFilter.java 中有以下代码用于露天共享 SSO 身份验证: Response remoteRes; if (cachedNtlm)
我是一名优秀的程序员,十分优秀!