2017-09-25 6 views
1

私は、Visual Studio Team Services、特にPackagesプラグインでSBTパワードプロジェクトを使用しようとしています。SBT Visual Studio Team Services(Web)パッケージへのパブリッシュプラグインRepo

パッケージプラグインはMavenとの連携方法を明示的に指示していますが、SBTの設定を変更する方法を決定できませんでした。 Maven HTTPインターフェース。

私が持っている固有の手順は以下のとおりです。何からスクランブルビットが故意にある資格情報:

<servers>タグ

<server> 
    <id>projectspace-visualstudio.com-java</id> 
    <configuration> 
     <httpHeaders> 
      <property> 
       <name>Authorization</name> 
       <!--Treat this auth token like a password. Do not share it with anyone, including Microsoft support. The generated token expires on or before 12/24/2017--> 
       <value>Basic dXNlci5uYW1lOjQ5ZmphMm1leUowZVhBZ09pSktWMVFpTENKaGJHY2lPaUpTVXpJMU5pSXNJbmcxZENJNkltOVBkbU42TlUxZk4zQXRTR3BKUzJ4R1dIbzVNM1ZmVmpCYWJ5SjkuZXlKdVlXMWxhV1FpT2lKak5qZGhORFZoWmkwME5UZ3lMVFpsTlRFdFltUXhNeTB6WTJRMk1HVTJPRGhpTmpjaUxDSnpZM0FpT2lKMmMyOHVaSEp2Y0Y5M2NtbDBaU0IyYzI4dWNHRmphMkZuYVc1blgzZHlhWFJsSWl3aVlYVnBJam9pWTJZM1l6ZGxaRGt0TXpVeE55MDBZalU1TFRrMk4yRXRaalZoWW1RNE16UTNaV1UySWl3aWMybGtJam9pWVdZek1XRXpOVEF0TXpBNVl5MDBNalF3TFdKbU1XRXRZelV4TURJek5HWXhPV0ppSWl3aWFYTnpJam9pWVhCd0xuWnpjM0J6TG5acGMzVmhiSE4wZFdScGJ5NWpiMjBpTENKaGRXUWlPaUpoY0hBdWRuTnpjSE11ZG1semRXRnNjMzFaR2x2TG1OdmJYeDJjMjg2WWpFME5tUTBZalF0TVRSaU55MDBOVE5qTFdJNU5qa3RZVEpoTXpsaFpEZGtNVGc0SWl3aWJtSm1Jam94TlRBMk16M016UTVMQ0psZUhBaU9qRTFNVFF4TkRNek5UQjkuQkJLY25Wa1dZbHYwTFJrZkVIQnpEY3loaFJodTFwTmhFNk51WTB5UEFDTDY4MktiRGVTRXNTUWFZSkJOcG82Y3Bnal9lZThBbkhqc1otUG1PYWY0aGtsVE1Dd3hwbDhuTXdSRzVYeGJWMTFFS1lTOFFhMTdvWFFGY1JIMl9JbG84MlJMMS1PWlAxXzExcEZ0TU1ST0tTVW85X0ttTGM3RzF2YWlJcXc5YkFrejEyemRGeUNobVJEWmFDdWFBV1NQaUU1VVRPaV9aMi1oS291UVBWd0E4N29oelpZMjU0X25fN0o3UFdnczUweXVOaXZRc3Q5Y1U5MGJPMWNZWHUyMmtLMEVyeC05ZlptMUlwWGRoQ1hkZm1aTDlxUWFSbnp5dW9QaGVFelJoZWd6bExNTjFSaVk1U0FwOENqR1FnR3NmWEZsNlNMTnNYYnhUOUd0YjVGRUJ3</value> 
      </property> 
     </httpHeaders> 
    </configuration> 
</server> 

ノート内のユーザーのsettings.xmlに資格情報を追加します明白な理由のために実際に割り当てられました。強制されるauthヘッダーの内容は標準Auth-Basic Base64ユーザー名:パスワードの組み合わせです。

彼らはさらに、

<repositories>タグと私はそのユーザ名とパスワードを破る試みた

<distributionManagement>タグの両方の内部でプロジェクトのpom.xmlにこれを追加指示しますそれらをCredentialsエントリに割り当て、 "https://projectspace.pkgs.visualstudio.com/_packaging/java/maven/v1"にパブリッシュしようとしましたが、必然的に失敗します。

VSTSパッケージシステムは、Realm SBT(またはIvyですか?)を使用しないで、標準のHTTP Authチャレンジを与えないので、決して信任状を送信しようとしません。その間、Mavenは最初の試行で資格情報を送信します。

SBTが資格情報を送信するかどうかに関係なく、または同様に必須のヘッダーを添付する方法はありますか? (または、私はその問題を完全に誤診したか?)

ありがとう。

+0

に関する資格情報ファイルに資格情報を指定する方法は? –

+0

@ starain-MSFTありがとうございました。あなたは私の調査を最初からやり直して答えを見つけるように導いてくれました。 – SattaiLanfear

答えて

1

私は私の質問に情報を追加しようとしている間に解決策を見つけたと思います。故意にCURLでアップロードを失敗しようとする際に

は、私は冗長出力で発見:

< WWW-Authenticate: Bearer authorization_uri=https://login.windows.net/67dd666e-d00e-4f5f-9f71-76760f050c78 
< WWW-Authenticate: Basic realm="https://pkgsprodscussu2.app.pkgs.visualstudio.com/" 
< WWW-Authenticate: TFS-Federated 

https://pkgsprodscussu2.app.pkgs.visualstudio.com/ SBTに自分のレルムを変更したら、突然公開することができました。

Hooray。残念ながら、レルム値が安定しているという保証はないようですが、少なくとも現在は有効です。他の人の参考のために

、これは私が終わったソリューションです:

publishTo in ThisBuild := Some("vsts" at "https://projectspace.pkgs.visualstudio.com/_packaging/java/maven/v1/") 

credentials in ThisBuild += { 
    import java.nio.charset.StandardCharsets 
    import java.util.Base64 

    val decodedArray: Array[Byte] = Base64.getDecoder.decode(
    """dXNlci5uYW1lOjQ5ZmphMm1leUowZVhBZ09pSktWMVFpTENKaGJHY2lPaUpTVXpJMU5pSXNJbmcxZENJNkltOVBkbU42TlUxZk4zQXRTR3BKUzJ4R1dIbzVNM1ZmVmpCYWJ5SjkuZXlKdVlXMWxhV1FpT2lKak5qZGhORFZoWmkwME5UZ3lMVFpsTlRFdFltUXhNeTB6WTJRMk1HVTJPRGhpTmpjaUxDSnpZM0FpT2lKMmMyOHVaSEp2Y0Y5M2NtbDBaU0IyYzI4dWNHRmphMkZuYVc1blgzZHlhWFJsSWl3aVlYVnBJam9pWTJZM1l6ZGxaRGt0TXpVeE55MDBZalU1TFRrMk4yRXRaalZoWW1RNE16UTNaV1UySWl3aWMybGtJam9pWVdZek1XRXpOVEF0TXpBNVl5MDBNalF3TFdKbU1XRXRZelV4TURJek5HWXhPV0ppSWl3aWFYTnpJam9pWVhCd0xuWnpjM0J6TG5acGMzVmhiSE4wZFdScGJ5NWpiMjBpTENKaGRXUWlPaUpoY0hBdWRuTnpjSE11ZG1semRXRnNjMzFaR2x2TG1OdmJYeDJjMjg2WWpFME5tUTBZalF0TVRSaU55MDBOVE5qTFdJNU5qa3RZVEpoTXpsaFpEZGtNVGc0SWl3aWJtSm1Jam94TlRBMk16M016UTVMQ0psZUhBaU9qRTFNVFF4TkRNek5UQjkuQkJLY25Wa1dZbHYwTFJrZkVIQnpEY3loaFJodTFwTmhFNk51WTB5UEFDTDY4MktiRGVTRXNTUWFZSkJOcG82Y3Bnal9lZThBbkhqc1otUG1PYWY0aGtsVE1Dd3hwbDhuTXdSRzVYeGJWMTFFS1lTOFFhMTdvWFFGY1JIMl9JbG84MlJMMS1PWlAxXzExcEZ0TU1ST0tTVW85X0ttTGM3RzF2YWlJcXc5YkFrejEyemRGeUNobVJEWmFDdWFBV1NQaUU1VVRPaV9aMi1oS291UVBWd0E4N29oelpZMjU0X25fN0o3UFdnczUweXVOaXZRc3Q5Y1U5MGJPMWNZWHUyMmtLMEVyeC05ZlptMUlwWGRoQ1hkZm1aTDlxUWFSbnp5dW9QaGVFelJoZWd6bExNTjFSaVk1U0FwOENqR1FnR3NmWEZsNlNMTnNYYnhUOUd0YjVGRUJ3""" 
) 

    val decodedString = new String(decodedArray, StandardCharsets.UTF_8) 

    print("decoded: ") 
    println(decodedString) 

    val Array(userName, passwd) = decodedString.split(":", 2) 

    Credentials(
    realm = "https://pkgsprodscussu2.app.pkgs.visualstudio.com/", 
    host = "projectspace.pkgs.visualstudio.com", 
    userName = userName, 
    passwd = passwd 
) 
} 
+0

@ starain-MSFTはリマインダーに感謝しています。 – SattaiLanfear

関連する問題