云客户?
免费开始>
在MyJFrog中升级>
云的新功能>





概述

JFrog平台与OAuth集成,允许您将身份验证请求委托给外部提供商,并允许用户使用这些提供商的帐户登录系统。

目前,支持的提供程序类型有谷歌OpenID连接GitHub企业,云铸造UAA。您可以根据需要定义任意数量的每种类型的提供者。

从2021年12月起,JFrog Cloud用户(仅限)也可以通过邀请加入,然后使用个人OAuth(如Google或GitHub)登录。看到开启和关闭个人OAuth单点登录获取详细信息。

在Artifactory 7.38中实现的web更改。X及以上

安全性现在称为身份验证提供程序。本页上的所有相关文本和图像都已更新以反映这一变化。


页面内容


使用

当在JFrog平台中启用OAuth时,用户可以选择通过任何受支持的OAuth提供程序登录。要通过提供商登录,只需在登录屏幕上单击提供商的按钮。

您将被重定向到相应提供商的登录屏幕。

如果您已经登录到该提供商的任何应用程序,则不需要再次登录,但您可能必须授权JFrog平台访问您的帐户信息,具体取决于提供商的类型。



配置OAuth

在Artifactory 7.38中实现的web更改。X及以上

安全性现在称为身份验证提供程序。本页上的所有相关文本和图像都已更新以反映这一变化。

要访问OAuth集成设置,请在政府模块,选择身份验证提供者|OAuth SSO


支持OAuth
选中后,启用OAuth提供程序的身份验证,系统将显示已配置的所有OAuth提供程序。如果未选中,则通过Artifactory用户/密码进行身份验证。
自动创建系统用户
设置后,系统将自动为使用OAuth登录的用户创建新用户,并将其分配到默认组中。
默认提供程序

指定提供程序,不同的客户端(例如npm)应该通过该提供程序对其登录进行身份验证以访问JFrog平台。

默认提供程序

目前,只有GitHub企业OAuth提供商可以被定义为默认提供商。

选中后,使用OAuth进行身份验证后创建的用户将能够访问他们的个人资料。这意味着他们能够产生他们的API密匙设置他们的密码供将来使用。

自定义URL库

要使您的OAuth设置正常工作,请确保您有自定义基础URL配置。

添加新的提供者

Artifactory中定义的提供程序列表显示在供应商部分。

要添加新的提供程序,请单击。JFrog平台显示一个对话框,允许您输入提供程序的详细信息。根据您正在配置的提供程序,这些可能略有不同。

下表描述了每个支持的提供程序所需的设置,以及您应该使用的相应值(如果可用):


描述
GitHub.com
GitHub企业
谷歌
云铸造厂UAA
OpenID
启用
如果选中,则启用此OAuth提供程序,并将出现在登录对话框中。
PKCE启用


如果选中,此OAuth提供程序将使用带有PKCE的授权代码流。 X X
供应商的名字

此提供程序的逻辑名称。例如,“Google OAuth”,“GitHub OAuth”。

这在JFrog平台中必须是唯一的。



提供者类型
提供者类型。目前GitHubGit企业版,谷歌OpenID,云计算都受支持。

客户机ID

用于向提供者标识您的组织的标识。

这是由OAuth提供程序在您使用它们设置帐户时提供的。



秘密

由提供者分配给您的组织的秘密。

这是由OAuth提供程序在您使用它们设置帐户时提供的。



指定一个域过滤器,该过滤器定义可以从哪些域对用户进行身份验证。

通常,这将是您的域名。例如www.si-fil.com

X X


X X
码头工人登录
支持Docker登录 X
X X X
npm登录
支持npm登录 X

X X X
基本URL
应该用于身份验证的Git服务器的基本URL。 https://github.com/

<服务器基URL>

X X X
身份验证URL
提供程序通过该URL将您重定向到身份验证页面。

https://github.com/login/oauth/authorize


注:GitHub.com帐户
任何GitHub.com账户有访问权限
到Artifactory的URL将被允许登录,包括您的外部帐户
GitHub.com组织范围。


<服务器基URL>/登录/ oauth /授权 https://accounts.google.com
/ o / oauth2 /身份验证
<服务器基URL>oauth /授权
API的URL
Artifactory可以通过该URL获取不能通过OAuth直接获得的额外信息。 https://api.github.com/user /api/v3/user https://www.googleapis.com
/ oauth2 / v1 /用户信息
<服务器基URL>/用户信息
标记的URL
Artifactory获取令牌以使用API的URL。 https://github.com/login
oauth / access_token
/login/oauth/access_token https://www.googleapis.com
/ oauth2 / v3 /令牌
<服务器基URL>oauth /令牌

使用查询参数

的同时传递查询参数授权URL

例子
https://github.com/login/oauth/authorize?realm=Employees

多个查询参数应该用&分隔。

例子
https://github.com/login/oauth/authorize?realm=Employees?client_id=XXXXXXXXXXX&scope=openid%20profile%20email

使用PKCE启用授权码流

在Artifactory 7.38中实现的web更改。X及以上

安全性现在称为身份验证提供程序。本页上的所有相关文本和图像都已更新以反映这一变化。

从Artifactory版本7.38开始,您可以为您的OAuth Provider授权提供者应用带有PKCE(代码交换证明密钥)流的授权代码流。此流是secret使用的替代方案,一旦在OAuth提供程序上启用PKCE, secret就会自动禁用。

在您的OAuth提供程序上启用PKCE:

  1. 在Administration模块中,导航到政府模块,并选择身份验证提供者|OAuth SSO
  2. 滚动到供应商部分并点击或者编辑现有的提供程序。

  3. 选择PKCE启用复选框。
    结果,秘密字段被禁用。

开启和关闭个人OAuth单点登录

在Artifactory 7.38中实现的web更改。X及以上

身份与访问现在被称为用户管理。本页上的所有相关文本和图像都已更新以反映这一变化。

  1. 要启用个人OAuth单点登录,请在政府模块,选择用户管理|安全
  2. 向下滚动到“个人登录”,然后选择启用通过外部提供商注册
  3. 然后,从提供商下拉列表中,选择您希望在注册屏幕中启用的提供商,例如Google, GitHub等。

绑定现有用户帐户

使用您的任何OAuth提供程序帐户登录内部(不是外部领域,如LDAP、SAML…)帐户,将您的JFrog平台帐户绑定到相应的帐户。

要绑定您的帐户,请到您的配置文件页面,并输入您的JFrog平台密码解锁。

OAuth用户绑定中,选择单击以绑定您希望绑定到的OAuth提供程序旁边。

绑定到OAuth提供商


创建OAuth提供程序帐户

为了使用OAuth身份验证,您需要为希望使用的每个OAuth提供者设置一个帐户,以便获得在系统中设置OAuth集成所需的各种参数(如提供者ID和Secret)。

GitHub OAuth设置

注意:访问GitHub.com帐户

任何GitHub.com可以访问JFrog平台URL的帐户将被允许登录,包括您的帐户之外的帐户GitHub.com组织范围。这并不适用于GitHub企业。

在GitHub上设置您的OAuth帐户:

  1. 登录你的GitHub账户。在您的个人配置文件设置下,选择应用程序然后点击开发人员应用程序选项卡

  2. 点击注册新的应用程序。

  3. 设置应用程序名称。例如,JFrog平台云认证。

  4. 设置主页网址。这是您的Artifactory服务器主机URL (https:// < artifactory-server > /).
    例如,https://mycompany.jfrog.io/mycompany/

  5. 设置授权回调URL如下:

    1. 对于内部安装:http:// < server_host > / artifactory / api / oauth2 / loginResponse
      例如,http://mycompany.artifactory.com/artifactory/api/oauth2/loginResponse

    2. 云:https:// < server_name >。jfrog.io artifactory / api / oauth2 / loginResponse
      例如,https://mycompany.jfrog.io/artifactory/api/oauth2/loginResponse
  6. 点击注册应用程序生成你的客户机ID客户的秘密
    把这些都记下来;您将需要它们通过JPD上的GitHub配置OAuth身份验证。

在GitHub上配置OAuth

Google OAuth提供程序设置

要在Google上设置您的OAuth帐户,请执行以下步骤:

  1. 登录到Google开发者控制台
  2. 创建一个新项目。例如,“Artifactory OAuth”。

  3. 项目创建完成后,在左侧导航栏中选择api和授权|凭证。

  4. 选择OAuth同意屏幕选项卡并配置最终用户在使用Google凭据登录时将看到的同意页面。
    在Google上配置OAuth

  5. 回到凭证选项卡上,单击添加证书并选择OAuth 2.0客户端ID。
    在Google上添加OAuth凭据

  6. 创建客户端ID,选择Web应用程序

  7. 输入一个名字然后设置授权重定向uri
    on-prem:https:// < server_host >/ artifactory / api /认证/ oauth2 / loginResponse
    云:https:// < server_name >。jfrog.io artifactory / api / oauth2 / loginResponse

  8. 点击创建生成你的客户机ID客户的秘密
    Google上的客户凭证
    把这些都记下来;您将需要它们在JFrog平台上通过Google配置OAuth身份验证。

云铸造厂UAA设置

支持使用Cloud Foundry UAA进行OAuth认证。

要使用Cloud Foundry UAA设置OAuth身份验证,请根据需要填写字段。

在Cloud Foundry上设置OAuth


使用安全认证

要使用安全的OAuth和来自Java信任的CA的有效证书,您所需要做的就是在设置中使用安全的OAuth URL。

如果要对不受信任的(自签名的)证书使用OAuth,请参阅信任新的CA或自签名证书


使用API密钥与OAuth用户

虽然OAuth提供了对UI的访问,但OAuth用户也可以生成一个API密匙它可以代替密码用于基本身份验证或专用的REST API头这在使用不同的客户端(如docker、npm、maven等)或使用Artifactory REST API时非常有用。

为了允许OAuth用户访问API密钥,您需要确保“自动创建系统用户"和"允许创建的用户访问配置文件页面复选框被选中。这意味着OAuth用户也被保存在数据库中,并且可以访问他们的个人信息页面以便生成、检索和撤销它们的API密钥。


在高可用性设置中使用OAuth

OAuth协议要求客户端授予特定应用程序权限。JPD将用户重定向到配置的应用程序URL,并将用户导航回授予的一个权限。

在高可用性设置中工作时,此过程的限制是用户必须返回到相同的节点,否则身份验证过程将失败,为了实现这一点,粘接会话配置应包括/ artifactory / api / oauth2 /

下面的例子显示了NGINX配置。

NGINX反向代理配置
位置~ (/artifactory/webapp/|/artifactory/ui/|/artifactory/api/oauth2/) {proxy_http_version 1.1;proxy_pass http:// < UPSTREAM_NAME >;proxy_intercept_errors;proxy_pass_header服务器;proxy_connect_timeout 75年代;proxy_send_timeout 2400年代;proxy_read_timeout 2400年代;proxy_set_header $ Host;$proxy_add_x_forwarded_for;$http_x_forwarded_proto; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-JFrog-Override-Base-Url $http_x_forwarded_proto://$host; }
  • 没有标签
版权所有©2022 JFrog Ltd.