标签: single-sign-on

用证书解码http响应

我是php的新手,我需要对SSO服务器进行身份验证.SSO服务器是.Net服务器,使用SSL证书.

当我从SSO服务器返回时,响应被编码.我当然有证书的密钥,但我怎么能解密回复呢?

这对我来说很模糊,请不要犹豫,详细说明你的答案:)

非常感谢您的帮助,最好的问候

php certificate single-sign-on

2
推荐指数
1
解决办法
2044
查看次数

单点登录+弹簧

谁能告诉我如何在我的spring应用程序中实现单点登录.(Tomcat或Jboss服务器)

与我分享任何文档或链接,以便在我的春季应用程序中使用此功能.

我使用的是2.5.6弹簧.

请做必要的.

java spring spring-mvc spring-security single-sign-on

2
推荐指数
1
解决办法
2768
查看次数

Spring和CAS使用代理票证

我有两个Web应用程序,Webapp A和webapp B. Webapp A是Spring 3.1 webapp.Webapp B是独立的非spring webapp.两者都受CAS保护.我的目标是允许webapp A使用代理票据从webapp B中检索信息.

为了简化操作,我将spring-security提供的cas-sample作为webapp A.配置为使用本地cas的默认样本按预期工作.对于那些不熟悉cas-sample的人,它提供了一个使用代理票据来请求cas-sample应用程序中的另一个页面的示例.然后我使用一个简单的页面在apache webserver下使用mod_auth_cas保护webapp B.同样,webapp B按预期工作.当我更改cas-sample以使用代理票据请求webappB时,它不起作用.来自webappB请求的响应是CAS登录页面.注意:我已经为webapp B尝试了一个tomcat webapp(非spring),结果相同.这让我相信问题不在webapp B中.下面是用于使用代理票证向webapp B发出请求的代码.并且可以在此处查看安全上下文配置.

final String targetUrl = "https://server/webappB";
final CasAuthenticationToken token = (CasAuthenticationToken) request.getUserPrincipal();
final String proxyTicket = token.getAssertion().getPrincipal().getProxyTicketFor(targetUrl);
final String serviceUrl = targetUrl+"?ticket="+URLEncoder.encode(proxyTicket, "UTF-8");
String proxyResponse = CommonUtils.getResponseFromServer(serviceUrl, "UTF-8");
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?当上面的targetUrl在webapp A中而不是外部应用程序时,为什么会这样?

谢谢你的帮助.

编辑:如果有帮助,这里是在向webapp请求使用代理票据的页面时CAS日志中出现的内容.

[org.jasig.cas.ticket.registry.DefaultTicketRegistry] - Attempting to retrieve ticket [TGT-2-YX0RNVRDHAPyGLy6ymGGVucUSQyjtre4jvGrAxYk2hXsehsxqx-cas]
[org.jasig.cas.ticket.registry.DefaultTicketRegistry] - Ticket [TGT-2-YX0RNVRDHAPyGLy6ymGGVucUSQyjtre4jvGrAxYk2hXsehsxqx-cas] found in registry.
[org.jasig.cas.ticket.registry.DefaultTicketRegistry] - Added ticket [ST-3-JrQKqqpZJz00a2hsGZP6-cas] to registry.
[org.jasig.cas.CentralAuthenticationServiceImpl] - Granted proxy ticket …
Run Code Online (Sandbox Code Playgroud)

java spring cas spring-security single-sign-on

2
推荐指数
1
解决办法
4729
查看次数

使用Facebook帐户登录网站

我想在我们当前的网站上实施SSO,以便我们可以使用Facebook帐户登录该网站.能否请您提供实施它需要遵循的步骤?

single-sign-on oauth-2.0 facebook-c#-sdk facebook-oauth

2
推荐指数
1
解决办法
6万
查看次数

为什么在Fiddler中的请求中可见的cookie在Request.Cookies集合中不可用?

我正在使用相同的域但不同的子域在.NET 2.0站点和.NET 4.0站点之间进行SSO.在一台机器上的开发环境中一切正常,但我无法让4.0生产站点接受2.0生产站点生成的auth cookie.这两个站点位于不同的服务器上,一个运行IIS 6,只安装了2.0框架,另一个运行IIS 7.5,安装了4.0框架.我已经阅读了其他问题的所有其他答案,这些问题指出了<machineKey>元素和<authentication><forms>元素的问题,并且相信我,所有这些东西都已正确设置,并且所有4个站点都具有与这些元素完全相同的属性值.

起初我认为这是加密的一个问题,但是当我仔细研究Fiddler发生了什么时,我发现auth cookie正在请求中正确传递,但似乎在某些时候消失了,然后不是可在Request.Cookies集合中找到.

4.0生产站点位于负载均衡器后面,但Web场中当前没有其他服务器联机.负载均衡器能否以某种方式丢弃cookie?cookie是否未添加到Request.Cookies集合中,因为它不是有效的身份验证cookie?如果是这样,为什么它不合法?

总而言之,当我在请求的页面上执行以下操作时:

HttpCookie AuthCookie = Request.Cookies.Get(".SSOAUTH");

AuthCookie为null,即使我可以在Fiddler的请求标头中看到具有该名称的cookie.

asp.net forms-authentication .net-4.0 .net-2.0 single-sign-on

2
推荐指数
1
解决办法
1495
查看次数

CAS和SAML2 SSO通过示例

我们有大约十几个内部管理员Web应用程序(主要是Java),员工可以使用这些应用程序进行各种工作流程,并且每个人都有自己的,不同的登录/身份验证系统.我被要求在一个单一的唱歌系统下将它们联合起来.我将以下图表作为起点使用:

在此输入图像描述

如您所见,每个应用程序都使用CAS客户端连接到CAS服务器.此服务器还具有配置了Shibboleth插件(?)的Apache httpd.然后,此CAS服务器与我们的Active Directory("AD")服务器通信.

我需要确保完全理解这些技术如何协同工作:

  • CAS服务器和Apache/Shibboleth之间发生了什么?
  • Apache/Shibboleth与"Trust Store"之间发生了什么?
  • CAS服务器和AD之间的通信是什么?
  • 存储在此SAML2令牌中的内容是从CAS服务器发送回每个CAS客户端的?
  • 作为Java开发人员,我如何使用SAML2令牌(或者如果auth失败则缺少它)来实际签署用户?
  • 这里有更好的技术选择:如果是,它们是什么,为什么?请记住,所有这些都是Java应用程序,除了其中一个,它是一个C#.NET应用程序.

java cas shibboleth single-sign-on saml-2.0

2
推荐指数
1
解决办法
3356
查看次数

JWT for SSO(由ZenDesk使用)

我基于令牌的身份验证系统的经验总是涉及令牌交换系统.我们想要对用户进行身份验证的应用程序(通过请求)接收令牌,然后将此令牌安全地传输到身份验证系统的令牌交换服务,该服务验证令牌并将用户信息返回给应用程序.

我最近遇到过ZenDesk的SSO实现,它使用JWT但没有令牌交换/验证步骤.

https://support.zendesk.com/hc/en-us/articles/203663816-Setting-up-single-sign-on-with-JWT-JSON-Web-Token-

这里的PHP实现示例:https://github.com/zendesk/zendesk_jwt_sso_examples/blob/master/php_jwt.php

基本上,编码的用户信息与HMAC一起通过URL来签署请求.ZenDesk端将解码,验证HMAC是否有效(使用共享密钥),并立即根据请求的用户信息对用户进行身份验证.生成令牌以确保其有效的系统没有回调.

我的问题是:如果有人要捕获请求,并且他们对其进行解码以获取用户信息和HMAC,他们就不能将其发送到服务器场以开始迭代秘密密钥,直到他们弄清楚它是什么(即:使HMAC匹配)?然后,一旦掌握了密钥,您就可以向ZenDesk作为首席执行官进行身份验证,并提出荒谬的请求吗?

希望我错过了一些东西,因为这种SSO方法是我见过的最简单的方法.

single-sign-on jwt

2
推荐指数
1
解决办法
1774
查看次数

OpenSaml AuthnRequest签名

我正在构建一个SAML 2.0 AuthNRequest.我设法使用OpenSaml添加签名信息,但我找不到使用库添加<ds:SignatureValue/><ds:DigestValue/>VALUES的方法.这是代码:

    public String buildAuthnRequest()  {
        QName qname = new javax.xml.namespace.QName(SSO_METDATA_QNAME);
        IssuerBuilder issuerBuilder = new IssuerBuilder();
        Issuer issuer = issuerBuilder.buildObject("urn:oasis:names:tc:SAML:2.0:assertion", "Issuer", "samlp");
        issuer.setValue(issuer.getValue());
        DateTime issueInstant = new DateTime();
        AuthnRequestBuilder authnRequestBuilder = new AuthnRequestBuilder();
        AuthnRequest authnRequest = authnRequestBuilder.buildObject("urn:oasis:names:tc:SAML:2.0:protocol","AuthnRequest", "samlp");
        authnRequest.setAssertionConsumerServiceURL("http://test.com");
//      Signature sign = null;
//      sign.setSignatureAlgorithm("SHA256");
//      Credential credential = null;
//      sign.setSigningCredential(credential);
//      authnRequest.setSignature(sign);
        NameIDPolicyBuilder policy = new NameIDPolicyBuilder();
        NameIDPolicy pol = policy.buildObject();
        RequestedAuthnContextBuilder contextBuild = new RequestedAuthnContextBuilder();
        RequestedAuthnContext context = contextBuild.buildObject();
        authnRequest.setRequestedAuthnContext(context);
        authnRequest.setNameIDPolicy(pol); …
Run Code Online (Sandbox Code Playgroud)

java saml single-sign-on opensaml saml-2.0

2
推荐指数
1
解决办法
4579
查看次数

keycloak中的单点退出原则

我正在探索我的项目SSO解决方案的keycloak,我正在尝试这个博客上的open-connect https://developers.redhat.com/blog/2017/05/25/easily-secure-your-spring-boot-applications -with-keycloak /

我想提出一个关于Single Sign Out的问题,我想知道背后的原理是什么.试图搜索在线文档,但我没有找到任何线索.有一段时间,我认为在oauth2世界中单点登出没有优雅的解决方案.

single-sign-on oauth-2.0 openid-connect keycloak

2
推荐指数
1
解决办法
2155
查看次数

Shibboleth与Node.js Rest API和Angular 2应用程序

一所大学希望获得具有Shibboleth身份验证的应用程序。他们提供自己的IDP。我想制作一个Node.Js后端和Angular前端。他们俩都应该与REST通信。是否仍然可以将Shibboleth Service Provider集成到Node.Js后端并通过Angular前端进行身份验证?

rest shibboleth single-sign-on node.js angular

2
推荐指数
1
解决办法
1123
查看次数