问题标签 [ruby-saml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Ruby SAML ACS 注销请求
我创建了一个 SAML2 SSO 登录(使用 google 断言消费者服务),如下所示:
但是,我无法使用 ACS 进行等效注销。
我试过了:
但是,这让我:
NoMethodError - nil:NilClass 的未定义方法“+”
我觉得我正在尝试的注销方法是错误的。发出注销请求的正确方法是什么?
ruby-on-rails - ruby-saml SAMLRequest 作为 POST 而不是 GET
我开始将 ruby-saml 用于其中一个项目。我正在使用的 IDP 期望使用包含 SAMLRequest 的 HTTP 正文进行身份验证请求的 POST。查看 authrequest.rb 的源代码,create 方法只能执行 GET 而不是 POST。
我决定调用 create_params 并获取 base64 令牌,我可以从我的视图中使用它来执行 POST。当我使用以下代码时
当我尝试 base64decode.org 或调用解码方法时,我得到编码不正确。
1) 我可以用 POST 代替 GET 吗?
2)在创建错误编码的请求时我做错了什么?
谢谢
ruby-on-rails - 示例 saml 应用程序中 nil:NilClass 的未定义方法“+”
尝试按照此处的设置创建一个简单的 SAML 应用程序(我在这里获得的完整项目)。
我完成了设置
这很好,但是当我导航到 http://localhost:3000/时 ,我遇到了
我添加了一些日志记录来检查请求和 saml_settings 的 nil 状态,但这似乎对它们都返回 false
错误跟踪:
(注意:错误是第 5行,由于我添加了调试日志记录,它对我来说是第 9 行)我不太确定它还能是什么,不确定它找不到什么方法以及什么是 nil?
我从来没有弄乱过 ruby 的东西,但是从我最初的样子来看,我不确定 nil 是从哪里来的,日志显示正在创建的请求所以不确定。任何帮助将不胜感激,谢谢!
ruby-on-rails - 设计:devise_saml_authenticable - 未初始化的常量 SamlSessionsController
我正在使用https://github.com/apokalipto/devise_saml_authenticable在 Ruby on Rails 应用程序中通过 SAML 针对 Okta 实现登录。
使用上述说明设置示例应用程序后,尝试导航到 /users/saml/log_in 时出现以下错误
不确定是什么导致了上述错误。我已确保 gem 是 Gemfile 的一部分并已安装。
还有什么我可以研究的吗?
saml - 身份提供者的多个证书(签名和加密)
我想为OneLogin SAML创建具有多个服务提供商证书(签名和加密)的元数据。但我不知道必须为此设置哪些设置参数。
我正在使用ruby-saml宝石。而我目前的设置如下
以下代码用于生成元数据
OneLogin::RubySaml::Metadata.new.generate settings
我正在获取没有任何证书的元数据
ruby - 为什么有人会将 ruby-saml gem 请求/响应的证书签名设置为 false?
在 ruby-saml gem 中,我们有以下选项配置来决定是否签署某些请求/响应:
使用证书将确保我们正在与我们认为正在交谈的人交谈。为什么有人想将这些配置设置为 false?
ruby - 总是得到: SSL_connect returned=1 errno=0 state=error: 证书验证失败(无法获取本地颁发者证书)
我使用 ruby-saml gem 并尝试加载 IDP 的元数据,但出现此错误:
上面的错误是什么意思?
我试图查看我正在使用什么证书,它似乎是这样的:
我的证书有问题吗?
注意:我已阅读SSL_connect returned=1 errno=0 state=error: certificate verify failed (unable to get local issuer certificate)但仍然不知道如何解决我的问题。该人手动使用证书,但我认为我不需要使用证书,因为代码应该处理证书?
saml - 如何在不使用 OneLogin UI 的情况下实现 OneLogin SSO/SLO
我正在开发 Ruby on Rails 应用程序。我需要使用 OneLogin 实现单点登录/单点注销 (SSO/SLO)。
我使用 OneLogin-Ruby-Sdk => https://github.com/onelogin/onelogin-ruby-sdk通过会话令牌 API 登录用户。它在浏览器中创建一个 cookie 并允许我登录其他应用程序。log_a_user_out
但是当我使用Api注销时。它只注销当前应用程序,而不是所有应用程序。所以 SLO 在这种情况下不起作用。
此后,我集成了 devise_saml_authenticatable => https://github.com/apokalipto/devise_saml_authenticatable。它与 SSO / SLO 完美配合。但它重定向到 oneLogin UI 以生成 SAMLRequest 并发送回 SAMLResponse。
有没有办法以编程方式生成 SAMLRequest 和 SAMLResponse ?就像我们对 OAuth2 所做的那样,我们可以一次又一次地使用刷新令牌生成访问令牌。
基本上我希望用户通过我的应用程序表单注册和登录,并与 OneLogin 通信并使用 API 实现 SSO / SLO,而不是去 oneLogin UI。
请让我知道是否需要更多关于代码的信息,这有助于提供答案。我会很高兴这样做。非常感谢任何帮助。
saml-2.0 - 如何在 ruby-saml 中指定 SAML 加密证书?
ruby-saml gem 支持将证书和私钥信息添加到服务提供商的元数据中,但据我所知,它只配置签名证书,而不配置加密证书。这就是我所做的:
这会导致将以下 XML 部分添加到服务提供者的元数据中:
但是如何配置 ruby-saml 以添加类似的use='encryption'
部分use='signing'
?
devise - 通过 ruby-saml gem 的 omniauth:request.env['omniauth.auth'] 总是 nil
对于我的应用程序,我想拥有“omniauth-google-oauth2”、“omniauth-ruby”和正常的设计身份验证,而对于前两个,我有以下路线
看法
saml_controller
结尾
我request.env['omniauth.auth']
在回调中得到 nil 而响应对 saml 有效,对于 google-oauth2 获取正常数据
User 和 ServiceUser 模型没有omniauthable。
Omniauth 初始化:
我不能在omniauth初始化程序中使用saml设置,因为我想拥有动态idp_sso_target_url
和idp_cert
以后。
我应该怎么做才能在 request.env['omniauth.params'] 中获取有效数据