0

我正在尝试配置omniauth-saml,但我不完全确定我需要为此配置在app_id 和app_secret 中添加什么。

我正在使用这个宝石:https ://github.com/PracticalGreen/omniauth-saml

如果我将这些字段留空,我当然会得到:

收到错误数量的参数。[无,无]

gitlab.yml 文件中的文档链接到更多关于 gitlab 和 omniauth 的文档,但该文档不再存在(重定向到旧的 README)。

任何帮助将不胜感激,谢谢!

4

3 回答 3

0

https://github.com/gitlabhq/gitlab-public-wiki/wiki/Custom-omniauth-provider-configurations#working-saml-configuration

我设法让它工作,所以我在 GitLab wiki 上记录了这个过程。

编辑现在似乎正式支持 SAML。不过,还没有单次注销……这似乎是一个omniauth限制。

于 2014-04-03T22:35:58.800 回答
0

https://github.com/gitlabhq/gitlab-public-wiki/wiki/Working-Custom-Omniauth-Provider-Configurations#working-cas-configuration

工作 CAS 配置向您展示了如何跳过使用标准配置并使用 devise.rb 将选项直接传递给提供者。这也是我配置omniauth-saml 的方式。

于 2013-11-07T21:26:46.683 回答
0

我能够让 SAML 与 Gitlab 6.2.4 一起工作,但这不是最优雅的解决方案。我使用 Okta 作为 IdP,但我相信该配置足够通用,可以应用于任何 SAML IdP。

添加omniauth-saml到 Gemfile 并运行 bundle

bundle install --without development test postgres --path vendor/bundle --no-deployment

已创建GITLAB/config/initializers/omniauth.rb

 Devise.setup do |config|
   config.omniauth :saml,
     idp_cert_fingerprint: "your IdP certificate fingerprint",
     idp_sso_target_url: "your IdP SAML end point"
 end

修改GITLAB/app/controllers/omniauth_callbacks_controller.rb(在 ldap 的定义之后添加了这个)

def saml
  handle_omniauth
end

我必须手动添加 SAML 的回调,因为当我尝试将 SAML 正确定义为gitlab.yml. 这是我可以让 Gitlab 启动并通过 SAML 进行身份验证的唯一方法。这感觉很 hacky,所以可能有一种更优雅的方式来实现它;但是,我在任何地方都找不到示例。

于 2014-02-25T21:45:45.490 回答