sulmar / altkom-netcore6-202210

Przykłady ze szkolenia Wprowadzenie do ASP.NET Core 6
1 stars 2 forks source link

Windows Authentication z Postman #7

Open pawelzf opened 2 years ago

pawelzf commented 2 years ago

Po zaznaczeniu checkboxa Enable Windows Authentication w usatwieniach w Launch Profiles w Visual Studio jak w załączonym przypadku otrzymuję błąd 401 podczas próby wysłania requesta w Postman. Co należy zrobić aby było możliwe w tym przypadku przesłanie requesta z Postman? Czy należy załadować jakieś certyfikaty w ustawieniach Postmana? Próbowałem wybrać autentykację NTLM oraz Basic ale za każdym razem otrzymuję ten sam efekt.

image image

sulmar commented 2 years ago

Cześć Paweł, Tak, to ustawienia Postmana.

  1. Wejdź do jego ustawień (trybik) [image: image.png]

  2. Wyłącz weryfikację certyfikatu SSL [image: image.png]

Oczywiście błąd autoryzacji 401 to coś innego - pamiętaj, że musisz wygenerować token i przekazać go w kolejnym zapytaniu.

Daj znać czy się udało.

Po szkoleniu zrobiłem kilka commitów: przykład hashowania haseł, zastosowanie polityk (Policies) , zapis tokenu JWT w ciasteczku.

Dodatkowo umieściłem moje wszystkie szkice, które powstały podczas szkolenia: https://github.com/sulmar/vavatech-netcore6-202210/blob/master/drafts/netcore6.pdf

Na zakładce Issues odpowiedziałem na kilka pytań: https://github.com/sulmar/vavatech-netcore6-202210/issues?q=is%3Aissue+is%3Aclosed

Dziękuję raz jeszcze za udział w szkoleniu i mam nadzieję do zobaczenia na kolejnym :)

Pozdrawiam, Marcin Sulecki

On Tue, Oct 25, 2022 at 10:11 AM pawelzf @.***> wrote:

Po zaznaczeniu checkboxa Enable Windows Authentication w usatwieniach w Launch Profiles w Visual Studio jak w załączonym przypadku otrzymuję błąd 401 podczas próby wysłania requesta w Postman. Co należy zrobić aby było możliwe w tym przypadku przesłanie requesta z Postman? Czy należy załadować jakieś certyfikaty w ustawieniach Postmana?

[image: image] https://user-images.githubusercontent.com/104422619/197719125-70075267-1b53-420e-8a20-5d8e1cd0c19f.png [image: image] https://user-images.githubusercontent.com/104422619/197719498-dbf9c6fd-a226-4c4a-b71a-090e2ea26c0e.png

— Reply to this email directly, view it on GitHub https://github.com/sulmar/altkom-netcore6-202210/issues/7, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF6GEL7KM2SFHFDDLM4CGLWE6IZLANCNFSM6AAAAAARNWTCFE . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Marcin Sulecki Sulmar | sulmar.pl | @sulmar | github.com/sulmar

pawelzf commented 2 years ago

Cześć Marcin,

W ustawieniach Postmana wyłączyłem weryfikację certyfikatów SSL. image

Niestety nadal otrzymuję ten sam błąd. Natomiast gdy zaznaczyłem opcję Enable Anonymous Authentication wtedy miałem możliwość zobaczenia jaki użytkownik jest wysyłany przez Postmana. Jak widać na załączonym screenie użytkownik ma wartość null. Podczas gdy dla tego samego requestu wysłanego z przeglądarki użytkownik ma ustawioną wartość użytkownika, na taką którym aktualnie jestem zalogowany na komputerze. Czy da się zatem ustawić to gdzieś w Postmanie aby ten użytkownik był ustawiany w ten sam sposób jak dla przeglądarki a nie był przesyłany jako null? image

Pozdrawiam Paweł Mroczek

sulmar commented 2 years ago

Spróbuj Pawle uruchomić na kestrelu a nie w IIS - wybierz profil z nazwą naszej aplikacji. Zobaczymy czy pójdzie.

On Tue, Oct 25, 2022 at 11:43 AM pawelzf @.***> wrote:

Cześć Marcin,

W ustawieniach Postmana wyłączyłem weryfikację certyfikatów SSL. [image: image] https://user-images.githubusercontent.com/104422619/197738881-4b96de8a-1040-4d74-9434-d211494c5584.png

Niestety nadal otrzymuję ten sam błąd. Natomiast gdy zaznaczyłem opcję Enable Anonymous Authentication wtedy miałem możliwość zobaczenia jaki użytkownik jest wysyłany przez Postmana. Jak widać na załączonym screenie użytkownik ma wartość null. Podczas gdy dla tego samego requestu wysłanego z przeglądarki użytkownik ma ustawioną wartość użytkownika, na taką którym aktualnie jestem zalogowany na komputerze. Czy da się zatem ustawić to gdzieś w Postmanie aby ten użytkownik był ustawiany w ten sam sposób jak dla przeglądarki a nie był przesyłany jako null? [image: image] https://user-images.githubusercontent.com/104422619/197740650-121e0cf7-ee6f-4bfb-917d-ac28ed1aa256.png

Pozdrawiam Paweł Mroczek

— Reply to this email directly, view it on GitHub https://github.com/sulmar/altkom-netcore6-202210/issues/7#issuecomment-1290277162, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF6GENPAQGDK2TGKYHMQNTWE6TU3ANCNFSM6AAAAAARNWTCFE . You are receiving this because you were mentioned.Message ID: @.***>

-- Marcin Sulecki Sulmar | sulmar.pl | @sulmar | github.com/sulmar

pawelzf commented 2 years ago

Oczywiście udało się przesłać request. Natomiast nazwa użytkownika nadal jest null.

sulmar commented 2 years ago

Jaki request wysyłasz? Ja właśnie pobrałem projekt z GitHuba, wygenerowałem token i wywołałem: http://localhost:64639/api/products

Działa w Kestrel i IIS.

Dzi Dzi

On Tue, Oct 25, 2022 at 11:57 AM pawelzf @.***> wrote:

Oczywiście udało się przesłać request. Natomiast nazwa użytkownika nadal jest null.

— Reply to this email directly, view it on GitHub https://github.com/sulmar/altkom-netcore6-202210/issues/7#issuecomment-1290292541, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF6GEN6HSY3G7KMBG7CQDTWE6VHTANCNFSM6AAAAAARNWTCFE . You are receiving this because you were mentioned.Message ID: @.***>

-- Marcin Sulecki Sulmar | sulmar.pl | @sulmar | github.com/sulmar

pawelzf commented 2 years ago

Też wysyłam request https://localhost:44389/api/products, tylko że nie używam autentykacji przy użyciu tokenu a IISDefaults.AuthenticationScheme image Mam też wyłączoną anonimową autentykację w profilu IIS, a włączoną tylko Windows Authentication. image

sulmar commented 2 years ago

Wskazałeś tylko domyślny schemat, ale nie zarejestrowałeś obsługi.

Spróbuj tak:

builder.Services.AddAuthentication(NegotiateDefaults.AuthenticationScheme) .AddNegotiate();

na podst. https://learn.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-6.0&tabs=visual-studio#iisiis-express

On Tue, Oct 25, 2022 at 1:33 PM pawelzf @.***> wrote:

Też wysyłam request https://localhost:44389/api/products, tylko że nie używam autentykacji przy użyciu tokenu a IISDefaults.AuthenticationScheme [image: image] https://user-images.githubusercontent.com/104422619/197759993-fe91dae6-1ba6-4e3a-a952-1130204ae5d7.png Mam też wyłączoną anonimową autentykację w profilu IIS, a włączoną tylko Windows Authentication. [image: image] https://user-images.githubusercontent.com/104422619/197760337-d08cc77a-0f44-4fd1-8ff4-559ca424e096.png

— Reply to this email directly, view it on GitHub https://github.com/sulmar/altkom-netcore6-202210/issues/7#issuecomment-1290405783, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF6GELQKYZWO63QGL6HIZDWE7AQTANCNFSM6AAAAAARNWTCFE . You are receiving this because you were mentioned.Message ID: @.***>

-- Marcin Sulecki Sulmar | sulmar.pl | @sulmar | github.com/sulmar

sulmar commented 2 years ago

Będę wdzięczny za wypełnienie ankiety szkoleniowej jeśli jeszcze tego zrobiłeś :) https://vavatech.pl/ankieta

On Tue, Oct 25, 2022 at 1:50 PM Marcin Sulecki @.***> wrote:

Wskazałeś tylko domyślny schemat, ale nie zarejestrowałeś obsługi.

Spróbuj tak:

builder.Services.AddAuthentication(NegotiateDefaults.AuthenticationScheme) .AddNegotiate();

na podst.

https://learn.microsoft.com/en-us/aspnet/core/security/authentication/windowsauth?view=aspnetcore-6.0&tabs=visual-studio#iisiis-express

On Tue, Oct 25, 2022 at 1:33 PM pawelzf @.***> wrote:

Też wysyłam request https://localhost:44389/api/products, tylko że nie używam autentykacji przy użyciu tokenu a IISDefaults.AuthenticationScheme [image: image] https://user-images.githubusercontent.com/104422619/197759993-fe91dae6-1ba6-4e3a-a952-1130204ae5d7.png Mam też wyłączoną anonimową autentykację w profilu IIS, a włączoną tylko Windows Authentication. [image: image] https://user-images.githubusercontent.com/104422619/197760337-d08cc77a-0f44-4fd1-8ff4-559ca424e096.png

— Reply to this email directly, view it on GitHub https://github.com/sulmar/altkom-netcore6-202210/issues/7#issuecomment-1290405783, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF6GELQKYZWO63QGL6HIZDWE7AQTANCNFSM6AAAAAARNWTCFE . You are receiving this because you were mentioned.Message ID: @.***>

-- Marcin Sulecki Sulmar | sulmar.pl | @sulmar | github.com/sulmar

-- Marcin Sulecki Sulmar | sulmar.pl | @sulmar | github.com/sulmar

pawelzf commented 2 years ago

Niestety w dalszym ciągu nie moge przetworzyć requesta z Postmana. Co do ankiety juz ją wypełniłem zaraz po szkoleniu :)

sulmar commented 2 years ago

Spróbuj sprawdzić za pomocą innego narzędzia, np. za pomocą Curl'a curl.exe http://localhost:5000/api/products https://localhost:5000/api/products -v --ntlm --negotiate -u USER123:PASSWORD123

Więcej na ten temat: https://mejustandrew.medium.com/postman-401-unathorized-using-ntlm-a996fbf072bf https://learning.postman.com/docs/sending-requests/authorization/#ntlm-authentication

On Tue, Oct 25, 2022 at 2:10 PM pawelzf @.***> wrote:

Niestety w dalszym ciągu nie moge przetworzyć requesta z Postmana. Co do ankiety juz ją wypełniłem zaraz po szkoleniu :)

— Reply to this email directly, view it on GitHub https://github.com/sulmar/altkom-netcore6-202210/issues/7#issuecomment-1290444628, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAF6GEOLRNW5SFMDQUQDFKDWE7E4BANCNFSM6AAAAAARNWTCFE . You are receiving this because you were mentioned.Message ID: @.***>

-- Marcin Sulecki Sulmar | sulmar.pl | @sulmar | github.com/sulmar