小编Viv*_*vek的帖子

omn​​iauth(自定义策略)/门卫的法拉第超时错误

我正在关注这个railscast,并且针对我的具体情况,我遇到了来自omniauth的回调的法拉第超时错误.

目前我正在使用rails应用程序作为API和骨干作为javascript前端(在同一个应用程序中)

我决定使用OAuth锁定API并为Omniauth提供自定义策略以作为客户端访问API以及门卫来处理授权逻辑

 module OmniAuth
      module Strategies
        class Twiddle < OmniAuth::Strategies::OAuth2
          option :name, :twiddle

          option :client_options, {
            site: "http://localhost:3001",
            authorize_path: "/oauth/authorize"
          }

          uid do
            raw_info["id"]
          end

          info do
            { 
              firstName: raw_info["firstName"],
              lastName: raw_info["lastName"], 
              email: raw_info["email"]
            }
          end

          def raw_info
            @raw_info ||= access_token.get('/api/v1/user').parsed
          end
        end
      end
    end
Run Code Online (Sandbox Code Playgroud)

我包括这样的自定义策略:

require File.expand_path('lib/omniauth/strategies/twiddle', Rails.root)

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :twiddle, id, secret # Omitting the actual ones for obvious reasons
end
Run Code Online (Sandbox Code Playgroud)

我目前正在使用这些宝石

# OAuth 
gem 'oauth2'
gem 'omniauth'
gem 'omniauth-oauth2'
gem 'omniauth-facebook'
gem …
Run Code Online (Sandbox Code Playgroud)

api ruby-on-rails oauth-2.0 omniauth

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

从代理后面的 Docker hub 拉取 Docker 容器会导致“由未知权威机构签署的证书”

我正在解密流量的 HTTPS Squid 代理后面从 Docker Hub 拉取 Docker 容器。

由于我没有信任我的 CA 根的代理 SSL 证书,因此在拉取时出现以下 SSL 错误:https: //index.docker.io/v1/repositories/.../images : x509:未知权威机构签署的证书

我知道我可以将 --insecure-registry 附加到私有存储库以忽略此问题,但由于某种原因我无法忽略 Docker 上托管的注册表。我对本地 DNS 服务器进行了一些分析,以查看 Docker 正在解析哪些主机名,并尝试了以下操作:

--insecure-registry docker.io --insecure-registryregistry-origin.docker.io --insecure-registryindex.docker.io --insecure-registry auth.docker.io --insecure-registryregistry-1.docker .io

这些都没有成功地让我从 Docker Hub 中拉取。有没有办法让它正常工作?

ssl proxy docker

6
推荐指数
0
解决办法
1048
查看次数

'干掉我的Ruby语法

我有一个重复的比较,我必须检查三个变量是否等于某个变量.为简单起见,我将创建一个场景来说明我遇到的问题.

if time == -1 and day_of_week == -1 and month == -1 
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种简洁,逻辑等效的方式来实现相同的代码行而不重复.

现在我正在使用一种迂回的方式,如下所示:

all_equal = true
[time_now, day_of_week, month].each { |value| all_equal = false if value != -1 }
if all_equal ....
Run Code Online (Sandbox Code Playgroud)

嗯,显然它已经超过了顶部(并且明显效率不高)但我发现重复的缺乏更令人愉悦.

你会建议一个更好的方法吗?

谢谢!

ruby dry

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

标签 统计

api ×1

docker ×1

dry ×1

oauth-2.0 ×1

omniauth ×1

proxy ×1

ruby ×1

ruby-on-rails ×1

ssl ×1