2016-06-09 21 views
8

Jak określić identyfikator użytkownika i hasło do kodu Visual Studio z uwierzytelniającym proxy?Jak określić identyfikator użytkownika i hasło do kodu Visual Studio z uwierzytelniającym proxy?

Widziałem Proxy Server Support na stronie głównej kod VS, ale to tylko wymienia dwa ustawienia ...

"http.proxy": "http://10.203.0.1:5187/" 
"http.proxyStrictSSL": false 

mam ustawić je, ale nadal nie ma szczęścia, na przykład Nie mogę zainstalować rozszerzenia ... nawet nie można dostać ich listę

Podejrzewam, że to nasza proxy, ponieważ wymaga identyfikatora użytkownika i hasła :-(

Więc jak można ustawić te wartości ?

+2

Poniższa odpowiedź nie działa. Zamiast tego wprowadzili nowy parametr konfiguracyjny o nazwie "http.proxyAuthorization", ale to nie działa. 'Odmówiono ustawiania niebezpiecznego nagłówka" Proxy-Authorization "'. Jest już zgłaszane: https://github.com/Microsoft/vscode/issues/17502 – mono68

+0

Zgłoszone nie oznacza naprawione ... lub nawet potwierdzone. Nadal czekam na naprawę po ponad 4 miesiącach. –

Odpowiedz

16

Set poświadczenia wewnątrz URL serwera proxy:

http://username:[email protected]:5187/ 
+0

Doskonały, działał ucztę ... dlaczego nie mają tego w dokumentacji :-( – SteveC

+0

@SteveC Przypuszczam, że jest to standardowa procedura podstawowego uwierzytelniania dostępu, nazwana kodowaniem adresu URL, ale możesz uczynić je sugestią do włączenia go do dokumentacji https://en.wikipedia.org/wiki/Basic_access_authentication – Oscar

+3

już nie działa –

18

Jeśli nie chcesz przechowywać swoje dane w pliku ustawień, skrzypek może być używany do pełnomocnika połączenia do serwera proxy Ponadto wierzę. powyższe działa tylko dla serwerów proxy przy użyciu podstawowego uwierzytelniania, poniższe powinny wo rk dla NTLM.

VSCode Otwórz Ustawienia pliku:

% appdata% \ Code \ \ User settings.json

dodać następujące:

{ 
    "http.proxy": "http://127.0.0.1:8888", 
    "http.proxyStrictSSL": false 
} 

Skrzypek Potwierdź Skrzypek ustawienia:

enter image description here enter image description here

Skrzypek Zapewnienie zestaw Fiddler do automatycznego uwierzytelniania:

enter image description here

VSCode Rozszerzenia powinien być nieaktywny:

enter image description here


Aktualizacja

ta nie jest już wymagana po realizacji PR #22369 który został wprowadzony w wersji 1.15 Proxy server authentication.

W moim przypadku nadal potrzebne, aby dodać:

"http.proxyStrictSSL": false 
+1

Użyłem skrzypka, ale musiałem użyć Dostosuj reguły ... OnBeginRequest "if (m_AutoAuth) {oSession [" X- AutoAuth "] =" domena \\ nazwa_użytkownika: hasło ";}" – Coding101

+0

Byłoby miło, gdyby kod vs zawierał ustawienie określające jak npm, więc nie musimy ustawiać strictssl na false. github [tutaj] (https://github.com/Microsoft/vscode/issues/9790?_pjax=%23js-repo-pjax-container) – martinoss

3

Moja ulubiona odpowiedź to sugestia Davida Martina o użyciu Skrzypka.Ale w przypadku, gdy nie jest to coś, co chcesz podjąć, poniżej jest jak ustawić swoje dane uwierzytelniające dla proxy.

Aby określić DOMAIN + login + hasło: (To prawdopodobnie nie będzie działać z kreską, więc użyć% 5C w miejscu kreską, jak pokazano poniżej)

// The proxy setting to use. If not set will be taken from the http_proxy and https_proxy environment variables 
"http.proxy": "http://DOMAIN%5Cusername:[email protected]_name_or_ip:port", 
"https.proxy": "http://DOMAIN%5Cusername:[email protected]_name_or_ip:port", 

// Whether the proxy server certificate should be verified against the list of supplied CAs. 
"http.proxyStrictSSL": false, 

podać tylko nazwę użytkownika + hasło:

// The proxy setting to use. If not set will be taken from the http_proxy and https_proxy environment variables 
"http.proxy": "http://username:[email protected]_name_or_ip:port", 
"https.proxy": "http://username:[email protected]_name_or_ip:port", 

// Whether the proxy server certificate should be verified against the list of supplied CAs. 
"http.proxyStrictSSL": false, 
+0

Użyłem tego, ale nadal nie działa. Czy jest coś jeszcze? –

+0

Mężczyzna, uratowałeś mnie! Użyłem "\\" w łańcuchu zamiast "% 5C". Jak tylko zamieniłem tylne ukośniki na "% 5C", wszystko działało! Wielkie dzięki! :) – JohnyL

2

Proszę, odwołaj się do tego artykułu. https://taeguk.co.uk/blog/working-in-visual-studio-behind-the-firewall/

Załóżmy, że mój login NTLM to DOMENA \ Nazwa użytkownika, a moje hasło to H @ sło! Format referencji musi być DOMAIN \ Nazwa użytkownika: H @ sło !, ale musisz URL zakodować nazwę użytkownika i hasło. Prosty kodowany URL może przetłumaczyć nazwę użytkownika i hasło na: DOMAIN% 5CUser% 20Name i P% 40ssword !. Ułóż wszystkie te informacje w jeden ciąg, taki jak: http://DOMAIN%5CUser%20Name:P%[email protected]:8881 Następnie dodaj to do ustawień użytkownika w pliku, Preferencje przeciwko wartości "http.proxy": // Umieść swoje ustawienia w tym pliku, aby nadpisać ustawienia domyślne { "http.proxy": "http://DOMAIN%5CUser%20Name:P%[email protected]:8881" }

+0

To działało dla mnie zza korporacyjnej ściany ogniowej z VSCode 1.9.1. Czynnikiem różnicującym była sugestia zakodowania adresu URL .. Dziękujemy @ Kiki.J.Hu. –