ruby-saml SAMLRequest作为POST而不是GET
问题描述:
我开始为其中一个项目使用ruby-saml。我正在使用的IDP期望POST身份验证请求包含SAMLRequest的HTTP主体。查看authrequest.rb的源代码,create方法只能执行GET而不是POST。ruby-saml SAMLRequest作为POST而不是GET
我决定调用create_params并获取base64标记,我可以从我的视图中使用它来执行POST。 当我使用下面的代码
params = {} request = OneLogin::RubySaml::Authrequest.new token = request.create_params(saml_settings, params) p token p token["SAMLRequest"] p decode(token["SAMLRequest"])
当我尝试base64decode.org或致电解码方法,我得到的编码是不正确的。
1)我可以做POST而不是GET吗?
2)我在做什么错误的创建请求是不好的编码?
感谢
答
1)我可以做一个POST而不是GET?
是的,但支持POST-binding不仅仅是通过POST参数替换GET参数...... POST-binding上的签名嵌入在SAML消息中,而不是另一个GET参数。
2)我在做什么错在创建它的请求是不好的编码? 谢谢
该AuthNRequest不仅base64encoded,但也泄气。
必须有更简单的方法..但我已经创建的代码base64编码的令牌,我可以传递给应用程序。
– Greg