2017-09-12 10 views
0

Artifactory OSS
5.4.6 REV 50406900Artifactoryアクセストークンはアクセストークン作業を取得しようとするとベアラではなく、ユーザー

を経由して動作します。
トークンを作成しました...

カール-uadmin:adminpw -X POST "MYSERVER:8081/artifactory/API /セキュリティ/トークン" -d "ユーザ名= moehoward"

返さMSGは成功のように見える ...

{ 
    "scope" : "member-of-groups:readers api:*", 
    "access_token" : <very-long-string> 
    "expires_in" : 3600, 
    "token_type" : "Bearer" 
} 

私が見ることができます「件名」=をユーザーに(上記の例では「moehoward」)、さらに短い「トークンID」などのようなgui(admin - > Security - > Access Tokens)に表示されます。

f2eb693a-d4ff-4618-ba52-764dc975c497

テストするには、ドキュメントの例を使用してpingを試みました...

curl -umoehoward:<very-long-string> myserver:8081/artifactory/api/system/ping 

401(不正な資格情報)で失敗します。

私はGUIの "token id"と同じ結果に置き換えます。

「moehoward」ユーザーのハードコードされたpwに置き換えてください。これは正常に動作します(「OK」で応答します)。

私は「-H」の認証を試みた:GUIでトークンID 『「だから私は非常に長い文字列をトークンとはないと思い、長い文字列を使用してアプローチし、それが働いた。』ベアラを

Q。 :なぜベアラーのためにこれが機能するのか?

答えて

0

これは、標準認証と認証HTTPヘッダーの両方で動作するはずです。

私は同じバージョンArtifactory OSS 5.4.6でサーバー上のテストを行なったし、次はここでは正常に動作します

適切な変数

export SERVER=server-artifactory 
export APIKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 

を注入ユーザーmoehoward

curl -u "admin:$APIKEY" -X POST "http://$SERVER/artifactory/api/security/token" -d "username=moehoward" -d "scope=member-of-groups:readers" > token.log 
export TOKEN=`cat token.log | jq -r '.access_token'` 
curl -u "moehoward:$TOKEN" "http://$SERVER/artifactory/api/system/ping" 
curl -H "Authorization: Bearer $TOKEN" "http://$SERVER/artifactory/api/system/ping" 
のアクセストークンを作成し、使用

最後の2つのコマンドから「OK」を取得します。これらのコマンドを正確に実行して報告できますか?

古いバージョンのカールで私は個人的に同じ問題(ベアラヘッダーが動作し、標準のユーザー認証が機能しない)を経験しました。明らかな回避策はBearerを使用することですが、より複雑な回避策は、カールをアップグレードする(または別のツールを使用する)ことです。

使用しているカールのバージョンは何ですか? 2015年以降のカールはうまくいくはずです。

関連する問題