小编Mak*_*poc的帖子

curl在重定向后对所有请求使用POST

根据文档和关于SO curl的一些类似问题,应遵循使用GET方法的重定向,除非将--post30x指定为参数.然而,那是我测试的结果

curl -kvv -b /tmp/tmp.BEo6w3GKDq -c /tmp/tmp.BEo6w3GKDq -X POST -H "Accept: application/json" -L https://localhost/api/v1/resource

> POST /api/v1/resource HTTP/1.1
> User-Agent: curl/7.29.0
> Host: localhost
> Cookie: JSESSIONIDSSO=AB59F2FD09D38EDBAACB726CF212EA2E; JSESSIONID=743FD68B520840094B6D283A81CF3CFA
> Accept: application/json
> 
< HTTP/1.1 302 Found
< Server: Apache-Coyote/1.1    
< Strict-Transport-Security: max-age=15768000; includeSubDomains
< Cache-control: no-cache, no-store
< Pragma: no-cache
< Location: https://testserver.int/api/v1/resource
< Content-Length: 0
< Date: Fri, 27 Jan 2017 08:41:05 GMT
<
> POST /api/v1/resource HTTP/1.1
> User-Agent: curl/7.29.0
> Host: testserver.int
> Cookie: JSESSIONID=1tcxpkul4qyqh1hycpf9insei9
> …
Run Code Online (Sandbox Code Playgroud)

redirect curl http

11
推荐指数
1
解决办法
2676
查看次数

如何使用 SAML ECP 配置文件配置 Keycloak

我正在使用 SAML 为运行 tomcat 的 Web 服务器实现 SSO 身份验证流程。使用 POST 或重定向绑定时一切正常,但根据我所读到的内容,为了支持 REST API 前面的 SAML 身份验证,我还需要配置和使用 ECP 配置文件。

如果我错了,请先纠正我,但 ECP 流程应该是这样的:

  1. 客户端访问 SP REST API
    • 客户端知道他需要进行身份验证,因此他设置了所需的 ECP 标头 (Accept: application/vnd.paos+xmlPAOS: urn:liberty:paos:2003-08;urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp)
  2. SP 发现客户端未经过身份验证并返回包含 PAOS 请求的 SOAP 信封。
  3. 客户端负责将其发送到其 ECP 消费者服务上的适当 IdP。
  4. IdP 向客户端发起身份验证质询
  5. IdP 以另一个 SOAP 信封的形式返回响应,其主体中包含 saml 响应
  6. 客户端必须将此响应发送到 SP 的ECP/SOAP 断言消费者服务

问题是所有这些都在步骤 6 之前有效。在这一步中,我遇到了问题,响应信封的主体包含一个 Destination 属性,该属性指向SP 的POST 断言消费者服务。此目标属性由 keycloak 设置,与我想要将响应发送到的实际 ECP 服务不匹配。我们使用的 SAML 库是 opensaml,它根据此 Destination 属性检查请求 URI,如果不匹配,则会引发异常org.opensaml.xml.security.SecurityException: SAML message …

saml single-sign-on saml-2.0 keycloak

5
推荐指数
1
解决办法
2110
查看次数

具有多个UI的工具的项目结构

我正在玩golang并制作了一个密码生成工具.最初它旨在用作命令行工具.后来我将生成逻辑分离为一个单独的包(仍然是相同的github存储库),并将main函数保留在项目的根目录中.现在我还想添加一个简单的Web前端(没什么特别的),但我不知道如何构建包.

我应该把两个命令行的输入点以及网页UI到自己的包在同一个项目(叶根空).或者我可能应该将实际的生成库移动到单独的包中的根和UI.我猜的另一种选择是有用户界面在GitHub上单独的项目,但他们只打算用于此库,所以它似乎并不像一个好主意.

我记得在一些名为cmd的项目包中看过,但我从未遇到过一个有多个前端的软件包.这样做是否有一种go(-gettable-)方式?

go

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

标签 统计

curl ×1

go ×1

http ×1

keycloak ×1

redirect ×1

saml ×1

saml-2.0 ×1

single-sign-on ×1