如何将Artifactory与OpenID Connect OAuth 2.0集成?

尼姆Bsoul
2023-01-22十一10

OAuth是Artifactory的一部分。它允许您将身份验证请求委托给外部提供者,并允许用户通过这些提供者的帐户登录到Artifactory。

在本指南中,将逐步设置OpenID Connect OAuth 2.0与Artifactory的集成

要将OpenID Connect OAuth 2.0与Artifactory集成,我们建议您使用MITREid连接开源项目。

开放ID连接服务器可以用作OpenID连接身份提供程序,也可以用作通用的OAuth 2.0授权服务器。

首先在本地构建项目并设置OpenID Connect:

Git检出和初始化

使用普通的Git克隆命令检查项目:

$ git克隆https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server.git

您可能想要使用的常见Maven选项

要跳过单元测试,请添加以下选项:

$ mvn -DskipTests包

要跳过JavaDoc生成,添加以下选项:

$ mvn -Dmaven.javadoc。跳过= true包

要配置http和https代理,添加以下选项(特别是因为Linux上的Maven似乎并不总是读取settings.xml文件):

$ mvn -Dhttp。proxyHost =代理-Dhttp。proxyPort = 80 -Dhttps。proxyHost =代理-Dhttps。proxyPort = 80包


         

使用Jetty进行部署

服务器web应用程序可以使用Maven内部的嵌入式Jetty实例进行部署。要部署到Jetty,首先从Maven父项目目录运行以下命令将MITREid应用程序安装到本地Maven存储库:

$ MVN清洁安装

要运行嵌入式Jetty服务器并部署服务器webapp,请从openid-connect-server-webapp目录运行以下命令。注意:不要在父项目目录下执行此命令:

$ MVN jetty:run-war

这将把服务器部署到https://localhost:8080/openid-connect-server-webapp。用户名:user,密码:password。

使用Apache Tomcat部署

要将服务器部署到Tomcat,将生成的.war文件的副本放在相应的Tomcat webapps目录中,例如:

cp openid-connect-server-webapp /目标/ openid-connect-server。战争/var/lib/tomcat6/webapps

在验证您的OpenID Connect web应用程序启动并运行后,导航到Home >自助客户端注册,并单击新客户端添加Artifactory:

用户添加图片

填写客户端(Artifactory)配置字段并单击Save:保存生成的信息非常重要,例如(稍后将在Artifactory中使用)

用户添加图片

在Artifactory中使用OpenID连接配置OAuth

要访问OAuth集成设置,在Admin模块中,选择Security | OAuth SSO:

用户添加图片

添加OpenID连接作为一个新供应商

用户添加图片

为此,单击New。然后Artifactory将显示一个对话框,您可以在其中输入提供者的详细信息。OpenID Connect支持Artifactory需要使用的以下端点:

  • 认证URL: https://localhost:8080/openid-connect-server-webapp/authorize
  • 令牌URL: https://localhost:8080/openid-connect-server-webapp/token
  • API网址:https://localhost:8080/openid-connect-server-webapp/userinfo

下面是Artifactory中的一个设置示例:

用户添加图片

完成后,单击Save。