Tag: oauth 2.0

GKE:Dockerlogin一直成功,但即使使用有效凭证,推送也不起作用

我有一个运行在GCE中的GKE集群,我能够构build+标记从Ubuntu的派生的图像:16.04: / # docker images REPOSITORY TAG IMAGE ID CREATED SIZE eu.gcr.io/my-project/ubuntu-gcloud latest a723e43228ae 7 minutes ago 347MB ubuntu 16.04 ebcd9d4fca80 7 days ago 118MB 首先,我尝试login到registry(如GKE文档中所述) docker login -u oauth2accesstoken -p `curl -s "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token" -H "Metadata-Flavor: Google"|awk -F\" "{ print \$4 }"` eu.gcr.io` 然后docker push命令失败: # docker push eu.gcr.io/my-project/ubuntu-gcloud The push refers to a repository […]

Docker注册与第三方OAuth服务

我正在运行一个私人dockerregistry,并希望将其与第三方OAuth服务(Auth0)集成,应该可以按照此处所述进行集成。 Auth0期望通过凭证发回POST到https://myaccount.auth0.com/oauth/token并使用令牌回复。 我不知道如何让dockerregistry发送这个,因为它只发送一个GET请求。 我的registryconfiguration: registry: image: registry:2 ports: – 127.0.0.1:5001:5000 environment: – REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/containers – REGISTRY_AUTH=token – REGISTRY_AUTH_TOKEN_REALM=https://<myaccount>.auth0.com/oauth/token – REGISTRY_AUTH_TOKEN_SERVICE="Docker Registry" – REGISTRY_AUTH_TOKEN_ISSUER="Auth0" – REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE=/ssl/server.crt volumes: – /efs/containers:/containers – /etc/pki/nginx:/ssl 在做docker login我可以预料地得到错误Cannot GET /oauth/token 。 我也尝试使用https://myaccount.auth0.com/authorize终结点代替,它期望一个GET,但是这也期望一个client_id,response_type和redirect_url查询string参数,并将它们附加到TOKEN_REALM url不会没有工作。 这应该如何与registry映像的有限领域,服务和发行者参数一起工作? 或者我应该build立自己的代理authentication服务,与Auth0交谈?

使用OAUauthentication设置私人dockerregistry(每个用户使用特定的命名空间)

我的用例需要设置一个私人dockerregistry,能够将用户authentication到特定的名称空间,而防止authentication的用户将图像拉到/推送到其他名字空间,而不是分配给他们的名字空间。 到目前为止,我的调查指出我有以下模块的设置 dockerregistry(当然) Oauth2authentication模块,每个用户的范围 在registryconfig.yml文件上设置oauth 这种设置可能吗? 如何configurationdockerregistry以使用OAuth2服务器? 我从官方文档中find了以下资源: https://docs.docker.com/registry/spec/auth/token/ 在我的config.yml中,我添加了以下几行: auth: token: realm: http://localhost:8200/oauth/token issuer: Auth Service service: Docker Registry rootcertbundle: /certs/server.crt 在位置http://localhost:8200/是我的QAuth2实现,它基于Spring OAuth2 当我尝试login到我的registry $> docker login -u admin -p admin https://localhost:5000 似乎没有任何一个QAuth2的stream程被docker跟在后面,我注意到它发送了一个GET(这是不允许的,但我有点破解它通过)请求,并且具有以下forms: /oauth/token?account=admin&client_id=docker&offline_token=true&service=Docker+Registry login名和密码在授权头中,Oauth2服务器进行基本的authentication,但没有成功,但是遗漏了grant_type,username,密码等。 我究竟做错了什么? 就我所知道的密码stream而言,正确的OAuth2令牌请求具有以下forms: curl -X POST "localhost:8200/oauth/token" \ -d "username=admin&password=admin&grant_type=password&scope=read%20write&" \ -H "Content-Type: application/x-www-form-urlencoded" \ -H "Accept: application/json" \ -H […]

Docker集线器的单点login(OAuth)

过去几天我正在研究Docker API文档,找不到一个合适的指令来获取client_id , client_secret和Scopes列表来获取AccessToken。 我已经使用Google,Azure,Github,Gitlab完成了SSO,现在我正在使用Docker,但似乎很难。 有没有适当的指导获得AccessToken和RefreshToken?