- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
通过对 gitlab 进行一些修改,我能够通过 omniauth-openid gem 添加对 gitlab 的 openid 支持,如下所述:
http://rahul-ghose.blogspot.in/2013/12/setup-gitlab-openid-authentication-with.html
在使用此 github 存储库添加 openid-connect 支持时,我尝试遵循类似的模式:
这是我做的:
我将以下内容添加到 config/initializers/devise.rb
config.omniauth :openid_connect, :name => "openid-connect", :identifier => "http://<openid-connect-server>/.well-known/openid-configuration", :client_id =>"gitlab", :client_secret => "gitlab"
和下面的“app/controllers/omniauth_callbacks_controller.rb”
def openidconnect
handle_omniauth
end
我在 gitlab production.log(堆栈跟踪)中得到了这个:
在 2013-03-04 04:58:21 +0530 开始获取 127.0.0.1 的“/users/auth/openid-connect”
AttrRequired::AttrMissing ('identifier' required.):
vendor/bundle/ruby/1.9.1/gems/attr_required-1.0.0/lib/attr_required.rb:59:in `attr_missing!'
vendor/bundle/ruby/1.9.1/gems/rack-oauth2-1.0.7/lib/rack/oauth2/client.rb:15:in `initialize'
vendor/bundle/ruby/1.9.1/gems/openid_connect-0.7.3/lib/openid_connect/client.rb:6:in `initialize'
vendor/bundle/ruby/1.9.1/bundler/gems/omniauth-openid-connect-21f0beac1983/lib/omniauth/strategies/openid_connect.rb:58:in `new'
vendor/bundle/ruby/1.9.1/bundler/gems/omniauth-openid-connect-21f0beac1983/lib/omniauth/strategies/openid_connect.rb:58:in `client'
vendor/bundle/ruby/1.9.1/bundler/gems/omniauth-openid-connect-21f0beac1983/lib/omniauth/strategies/openid_connect.rb:87:in `authorize_uri'
vendor/bundle/ruby/1.9.1/bundler/gems/omniauth-openid-connect-21f0beac1983/lib/omniauth/strategies/openid_connect.rb:62:in `request_phase'
vendor/bundle/ruby/1.9.1/gems/omniauth-1.1.4/lib/omniauth/strategy.rb:214:in `request_call'
vendor/bundle/ruby/1.9.1/gems/omniauth-1.1.4/lib/omniauth/strategy.rb:181:in `call!'
vendor/bundle/ruby/1.9.1/gems/omniauth-1.1.4/lib/omniauth/strategy.rb:164:in `call'
vendor/bundle/ruby/1.9.1/gems/rack-cors-0.2.9/lib/rack/cors.rb:54:in `call'
vendor/bundle/ruby/1.9.1/gems/rack-attack-2.3.0/lib/rack/attack.rb:63:in `call'
vendor/bundle/ruby/1.9.1/gems/warden-1.2.3/lib/warden/manager.rb:35:in `block in call'
vendor/bundle/ruby/1.9.1/gems/warden-1.2.3/lib/warden/manager.rb:34:in `catch'
vendor/bundle/ruby/1.9.1/gems/warden-1.2.3/lib/warden/manager.rb:34:in `call'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/etag.rb:23:in `call'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/conditionalget.rb:25:in `call'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.3/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.3/lib/action_dispatch/middleware/flash.rb:241:in `call'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:225:in `context'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:220:in `call'
vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.3/lib/action_dispatch/middleware/cookies.rb:486:in `call'
vendor/bundle/ruby/1.9.1/gems/activerecord-4.0.3/lib/active_record/query_cache.rb:36:in `call'
vendor/bundle/ruby/1.9.1/gems/activerecord-4.0.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:626:in `call'
vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.3/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.3/lib/active_support/callbacks.rb:373:in `_run__1476305416189579609__call__callbacks'
vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.3/lib/active_support/callbacks.rb:80:in `run_callbacks'
vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.3/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.3/lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.3/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.3/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
vendor/bundle/ruby/1.9.1/gems/railties-4.0.3/lib/rails/rack/logger.rb:38:in `call_app'
vendor/bundle/ruby/1.9.1/gems/railties-4.0.3/lib/rails/rack/logger.rb:20:in `block in call'
vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.3/lib/active_support/tagged_logging.rb:67:in `block in tagged'
vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.3/lib/active_support/tagged_logging.rb:25:in `tagged'
vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.3/lib/active_support/tagged_logging.rb:67:in `tagged'
vendor/bundle/ruby/1.9.1/gems/railties-4.0.3/lib/rails/rack/logger.rb:20:in `call'
vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.3/lib/action_dispatch/middleware/request_id.rb:21:in `call'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/lock.rb:17:in `call'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/sendfile.rb:112:in `call'
vendor/bundle/ruby/1.9.1/gems/railties-4.0.3/lib/rails/engine.rb:511:in `call'
vendor/bundle/ruby/1.9.1/gems/railties-4.0.3/lib/rails/application.rb:97:in `call'
vendor/bundle/ruby/1.9.1/gems/railties-4.0.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/builder.rb:138:in `call'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:65:in `block in call'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in `each'
vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in `call'
vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:552:in `process_client'
vendor/bundle/ruby/1.9.1/gems/unicorn-worker-killer-0.4.2/lib/unicorn/worker_killer.rb:51:in `process_client'
vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:632:in `worker_loop'
vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:500:in `spawn_missing_workers'
vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.3/lib/unicorn/http_server.rb:142:in `start'
vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.3/bin/unicorn_rails:209:in `<top (required)>'
vendor/bundle/ruby/1.9.1/bin/unicorn_rails:23:in `load'
vendor/bundle/ruby/1.9.1/bin/unicorn_rails:23:in `<main>'
谁能帮帮我吗?
最佳答案
这在使用以下配置后有效:
config.omniauth :openid_connect, {
name: :openid_connect,
scope: [:openid, :profile],
response_type: :code,
client_options: {
port: 8081,
scheme: "https",
host: "myprovider.com",
identifier: "clientID",
secret: "clientSecret",
redirect_uri: "http://myapp.com/users/auth/openid_connect/callback",
},
}
名称必须是 openid_connect,范围是所需的最小范围。
关于ruby-on-rails - Gitlab 与 openid 连接的集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22225188/
我有一些关于 Gitlab Server 和 Gitlab Runner 的问题。 必须安装 GitLab Runner 才能执行 CI/CD 部署吗? 必须为 GitLab Runner 安装 Gi
我正在docker上运行gitlab/gitlab-ce容器。然后,在其中,我想通过提供docker作为运行器来运行gitlab-runner服务。而我运行的每个命令(例如docker ps,dock
刚刚在全新的高性能服务器上安装了全新的 6.8 Gitlab。 在考虑忘记我的存储库历史记录(评论、问题等...)之前,有人知道一种将存储库数据从 Gitlab 服务器导出到另一个 Gitlab 服务
我读了这篇比较 https://about.gitlab.com/pricing/self-managed/feature-comparison/在 Gitlab 上,很多事情还不清楚。我想问一下在某
我的配置文件: external_url "http://192.168.3.23" # note the use of a dotted ip gitlab_rails['gitlab_email
GitLab 支持多种 Push Options .有什么方法可以在 Web 用户界面或其他方式中检查管道或作业中使用了哪些推送选项?特别是,哪些 ci.variable 推送选项与作业或管道相关联?
所以,我试图在子目录上安装 gitlab。许多在线文章都表明现在可以这样做。 我安装了 omnibus-gitlab,但它似乎不包含使 gitlab 在 application.rb 等子目录中运行所
我当前的设置是我有一个安装了 gitlab (gitlabVM) 的 Ubuntu VM。 Gitlab 通过 8888 端口在 nginx 上运行 我的路由器配置如下: 外部 4322 -> git
我最近通过 Gitlab 更新了,但是备份文件是旧版本,新版本不兼容。所以我想将 Gitlab 回滚到以前的版本。怎么做? 最佳答案 GitLab 升级过程应该升级数据库(并且其他文件应该兼容)。 但
我在不同的网络上有两个单独的 git-lab 实例。我可以为他们每个人使用相同的运行者吗?假设,两个 git-lab 实例都可以访问带有运行器的服务器。是否可以为我的两个 git-lab 实例使用一个
我刚刚将我们的存储库从 github 转换为内部 gitlab。我首先获得了一个裸本地存储库,并且已经能够将一个新的 master 引入 gitlab。 在我的本地存储库中, git tag 显示了我
我看过这个:`git clone project2` in gitlab-ci.yml?以及一堆类似答案的类似帖子,暗示应该使用 Git 子模块。 如果不讨论 Git 中的子模块是否运行良好的争论,就
谁能帮我在 git lab 中自动生成发行说明。有什么方法可以执行此操作。 请让我知道。 谢谢 最佳答案 您可以使用 API 列出里程碑中的所有问题,请参阅 https://docs.gitlab.c
GitLab为与特定项目合作的“团队成员”提供项目访问级别“ guest ”,“报告者”,“开发者”和“大师”。 “主人”和“客人”是不言自明的,但是其他人对我的范围和粒度并不十分清楚。这些级别之间有
我已经在 CentOS 6.6 上安装了 Gitlab Omnibus gitlab-7.4.3_omnibus.5.1.0.ci-1.el6.x86_64.rpm。我创建了一些项目并且运行良好,但我
我想知道在 2GB 内存和 2 个处理核心的情况下,GitLab 中允许的存储库和用户数量是否有上限。 最佳答案 这主要在GitLab requirements中指定。文档(如 CPU section
我很长一段时间都是 Bitbucket 的重度用户,但由于 GL 拥有先进的强大功能,我转向了 GitLab。 但是 Bitbucket 有一个令人惊叹的功能,我在 GitLab 中找不到……“下载”
在 GitLab 中,“聊天”选项卡始终显示没有事件用户: 如何启用它? 最佳答案 几年前,Gitlab 收购了一家公司,该公司生产 Slack 替代聊天系统,名为 Mattermost。您的 Git
在我的项目设置中我看到: 可用于任何项目的公共(public)部署 key (15) Rewind CFMM Ansible Deployment LRM Puppet Test gitlab-run
当我尝试创建 new project 时在 GitLab使用模板我提供了三个选项 * Ruby on Rails * Spring * NodeJSExpress 除了现有模板之外,是否可以添加自定义
我是一名优秀的程序员,十分优秀!