2016-09-15 94 views
1

我剛在AWS-Openshift環境中使用Docker文件部署了JFrog Artifactory。OAuth與JFrog Artifactory集成

我需要將Artifactory與OpenShift OAuth服務集成。

任何人都可以請指導我如何繼續這個?

我可以從下面/文件檢查這些選項。

OAuth集成設置,在Admin模塊中,選擇Security | OAuth SSO。

我配置成使用上述和得到錯誤 -

{"error":"unsupported_grant_type","error_description":"The authorization grant type is not supported by the authorization server."} 

=============================== ======================================

{ 
    "kind": "Status", 
    "apiVersion": "v1", 
    "metadata": {}, 
    "status": "Failure", 
    "message": "User \"system:anonymous\" cannot list all users in the cluster", 
    "reason": "Forbidden", 
    "details": { 
    "kind": "users" 
    }, 
    "code": 403 
} 

FROM rhel7:最新

MAINTAINER Naveen Kumar 06 <[email protected]> 

RUN set -x \ 
    && yum -y install tar unzip \ 
    && yum -y update \ 
    && yum -y clean all 


#java 
ENV JAVA_HOME /opt/java 
ENV JAVA_VERSION_MAJOR 8 
ENV JAVA_VERSION_MINOR 102 
ENV JAVA_VERSION_BUILD 14 

RUN mkdir -p /opt \ 
    && curl --fail --silent --location --retry 3 \ 
    --header "Cookie: oraclelicense=accept-securebackup-cookie; " \ 
    http://download.oracle.com/otn-pub/java/jdk/${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-b${JAVA_VERSION_BUILD}/server-jre-${JAVA_VERSION_MAJOR}u${JAVA_VERSION_MINOR}-linux-x64.tar.gz \ 
    | gunzip \ 
    | tar -x -C /opt \ 
    && ln -s /opt/jdk1.${JAVA_VERSION_MAJOR}.0_${JAVA_VERSION_MINOR} ${JAVA_HOME} 

#jfrog-artifactory-pro-4.12.1.zip 

#https://dl.bintray.com/jfrog/artifactory-pro/org/artifactory/pro/jfrog-artifactory-pro/4.12.1/jfrog-artifactory-pro-4.12.1.zip 

ENV ARTIFACTORY_VERSION 4.12.1 
ENV ARTIFACTORY_HOME /artifactory-pro-${ARTIFACTORY_VERSION} 

#ADD http://dl.bintray.com/content/jfrog/artifactory/jfrog-artifactory-pro-${ARTIFACTORY_VERSION}.zip?direct artifactory.zip 

ADD https://dl.bintray.com/jfrog/artifactory-pro/org/artifactory/pro/jfrog-artifactory-pro/4.12.1/jfrog-artifactory-pro-4.12.1.zip artifactory.zip 

RUN unzip artifactory.zip 

RUN sed -i -e 's/Xmx2g/Xmx512m/g' artifactory-*/bin/artifactory.default 

#artifactory-oss-4.12.1/tomcat/webapps/ 

RUN chmod +x /artifactory-pro-${ARTIFACTORY_VERSION}/bin/artifactory.sh 

# Expose the default endpoint 
EXPOSE 8081 

WORKDIR /artifactory-oss-${ARTIFACTORY_VERSION} 

RUN chmod -R 777 /artifactory-pro-4.12.1/ 

# Run the embedded tomcat container 
ENTRYPOINT /artifactory-pro-${ARTIFACTORY_VERSION}/bin/artifactory.sh 

問候 納文

回答

0

我們的問題是OpenShift身份驗證不提供id_token。這是你的問題的原因。我們寫了一個代理從OpenShift OAuth向Artifactory發送它期望的答案。

請注意,Artifactory使用java.net.HttpURLConnection連接到OpenID提供程序和Apache HTTP客戶端。那類從系統屬性讀取典型的代理服務器設置

"https.proxyHost" 
"https.proxyPort" 
"https.proxyUser" 
"https.proxyPassword" 

,設定成Artifactory的編輯在/ artifactory的家庭的artifactory.bat /箱

set JAVA_OPTIONS=-server -Xms512m -Xmx2g -Xss256k -XX:+UseG1GC -Dhttps.proxyHost=myProxyHost -Dhttps.proxyPort=myProxyPort -Dhttps.proxyUser=myProxyUser -Dhttps.proxyPassword=XXXX