Я изучаю внешние логистические стратегии, и терминология меня смущает. Какая связь между следующим.
- Owin
- OauthWebSecurity
- OAuth 2.0
- Овин Катана
- Идентификатор ASP.NET
Я изучаю внешние логистические стратегии, и терминология меня смущает. Какая связь между следующим.
Owin - это не более чем спецификация. Это означает Open Web Interface для .Net. В очень упрощенном виде она основана на идее, что с использованием нескольких языковых конструкций (делегатов и словаря) вы можете создать структуру для обработки веб-запросов, которая не зависит от того, где она размещена (вы даже можете запустить "приложение owin" из консольное приложение).
Реализация спецификации Owin называется Katana.
OAuth 2.0 является протоколом авторизации. Идея OAuth заключается в том, что вы (владелец ресурса) можете делегировать права доступа третьим лицам. Примером может служить веб-приложение, которое может размещать на вашей стене Facebook для вас. Опять же, в очень упрощенных выражениях, это материализуется путем отправки перенаправления 302 пользователю, когда она обращается к защищенному ресурсу. Это 302 перенаправляет пользователя, например, на страницу входа в систему Facebook (https://www.facebook.com/dialog/oauth?client_id=...&redirect_url=[yourwebapp]&scope=[permissionsrequiredfromuser]). После входа в facebook, примите запрос на разрешение, facebook отправит перенаправление 302 на адрес redirect_url, предоставленный access_token, который затем можно использовать для отправки запросов от имени пользователя, предоставившего учетные данные. Например, чтобы получить информацию о пользователе, вы должны выполнить запрос https://graph.facebook.com/me?access_token=[access_token]. Существуют вариации для этого рабочего процесса. Все они объясняются в ссылках в конце ответа.
Идентификатор ASP.NET не имеет ничего общего с ASP.NET. Говорите о бедных именах... Он предоставляет функциональные возможности для сохранения и извлечения пользовательских данных из источника данных. Он также предоставляет вам возможность связывать требования и роли с пользователями, другими "поставщиками логинов" (это было бы так, когда вы "входите в систему с помощью facebook", а ваш user_id из facebook будет связан с вашим локальным идентификатором пользователя, эта информация хранится в таблице AspNetUserLogins).
То, как вы видите, что оно используется в шаблоне проекта MVC, находится в контроллере учетной записи и в файле cookieAuthenticationMiddleware.
http://odetocode.com/blogs/scott/archive/2013/07/09/getting-started-with-owin-katana-and-vs2013.aspx http://odetocode.com/blogs/scott/archive/2013/11/11/writing-owin-middleware.aspx http://odetocode.com/blogs/scott/archive/2013/11/12/simple-logging-middleware-katana-part-4.aspx http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana http://www.asp.net/aspnet/overview/owin-and-katana/owin-startup-class-detection
https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.1 http://blogs.msdn.com/b/webdev/archive/2013/07/03/understanding-owin-forms-authentication-in-mvc-5.aspx http://www.asp.net/web-api/overview/security/external-authentication-services
http://brockallen.com/2013/10/20/the-good-the-bad-and-the-ugly-of-asp-net-identity/ http://curah.microsoft.com/55636/aspnet-identity http://typecastexception.com/post/2014/04/20/ASPNET-MVC-and-Identity-20-Understanding-the-Basics.aspx