Опитвам се да постигна проста задача: Защитете моя ASP.NET WEBAPI (изграден върху Katana) с BASIC Auth. Знам, че мога да внедря собствен мидълуер или манипулатор на съобщения или каквото и да било. Чудя се обаче дали такава проста задача вече не е изпълнена? Намерих множество проби в мрежата, които показват колко просто трябва да бъде. Но всички тези проби се отнасят до пакет nuget с име microsoft.owin.security.basic, който не мога да намеря никъде!? Можеш ли да ми помогнеш?
OWIN/Katana & BasicAuthentication
Отговори (2)
Преди всичко трябва да помислите да НЕ извършвате директно основно удостоверяване - а по-скоро да използвате подхода на сървъра за оторизация OAuth2 - първо прочетете това:
http://leastprivilege.com/2013/11/13/authorization-servers-are-good-for-you-and-your-web-apis/
Ако все пак искате да направите основно удостоверяване - тогава в това репо ще намерите имплементация за Katana:
nuget: Thinktecture.IdentityModel.Owin
person
leastprivilege
schedule
18.01.2014
здравей доминик, благодаря ти много за отговора. защо не трябва да използвам директно основно удостоверяване? oauth2 не е ли малко прекомерен за проста услуга, която комуникира чрез ssl и просто трябва да има основен механизъм за удостоверяване? Благодаря ви за свързаните връзки, много интересно.
- person LaurinSt; 19.01.2014
Предполагам, че още не си прочел публикациите? Всички отговори са там... но накратко - при основно удостоверяване трябва да предавате паролата при всяка заявка - това не е наистина осъществимо, ако вашите пароли са правилно защитени и съхранени на сървъра. Втората ми публикация показва как по същество получавате бисквитки за уеб apis подход в 10 реда код. Това е преоразмерено?
- person leastprivilege; 20.01.2014
добре, благодаря ти! Първо ще прочета публикацията, вместо да задавам излишни въпроси :) Благодаря много
- person LaurinSt; 20.01.2014
Използването на OAuth2 е невъзможно, когато имате клиент, който не го поддържа. А такива има много, бъдете сигурни.
- person Alexey Zimarev; 28.04.2014
Както Алексей посочи, понякога разработчиците нямат избор, т.е. трябва да интегрирам с рамка това, което използва основно удостоверяване, така че моят API трябва да го поддържа. Странно е, че основното удостоверяване не е вградено в OWIN.
- person user3285954; 28.12.2014
@user3285954 Използвал съм пакета Thinktecture в приложение OWIN/Katana и мога да гарантирам, че не би могло да бъде по-просто, ако owin дойде с него веднага!
- person Sudhanshu Mishra; 23.06.2016
@leastprivilege това наистина не е възможно, ако вашите пароли са правилно защитени и съхранени на сървъра - това е неправилно. Можете да използвате солирани+хеширани пароли на сървъра с основно удостоверяване - това е концептуално същото като влизане в уебсайт чрез въвеждане на вашето потребителско име и парола в
<form>
както правят хората. Мисля, че имате предвид на клиента. Все пак има начини да се заобиколи това (като предизвикателство-отговор, но все пак използване на основно удостоверяване само като транспорт за удостоверяване). OAuth2 е пресилен и твърде сложен за много малки проекти.
- person Dai; 01.09.2016
Връзка към github.com/thinktecture/Thinktecture.IdentityModel/ tree/master/ е повреден, но пакетът NuGet все още е наличен
- person Michael Freidgeim; 11.04.2021