У нас есть несколько веб-проектов (сайтов), каждая из которых имеет свою собственную логику авторизации. Сегодня мой ИТ-директор попросил меня выполнить oAuth и использовать его для проверки пользователей на всех сайтах.Пользовательская реализация сервера oAuth и его преимущества
Раньше я использовал oAuth для Google, Facebook, Twitter и Microsoft. У меня есть несколько вопросов здесь
- Каковы преимущества внедрения поставщика
- Каков наилучший подход в общих принципах OAuth
- Могу ли я использовать этот OAuth-сервер для Single Sign On
Когда у меня есть пользователь oAuth из Google или другой, идея заключалась в том, чтобы устранить попытки пользователя зарегистрироваться на моем сайте, а использовать те же учетные данные, что и он для Google. Является ли это единственным преимуществом, которое я получу, если создам свой пользовательский oAuth?
Реализация OAuth:
- Создание Entity приложений с ApplicationName, ClientID, ClientSecrete
- Создать объект пользователя с UserId, UserName, Password, ApplicationID
- Share уникального ClientID и Выделяет с каждым сайтом и когда пользователь пытается войти с этого сайта, передайте идентификатор клиента, clientSecrete, UserName, Password и подтвердите и верните true или false
- Следуйте аналогичному потоку для пользователя, чтобы зарегистрироваться в системе ,
На высоком уровне мой вышеуказанный поток удовлетворяет концепции oAuth? есть ли подробные детали реализации oAuth, которые я могу назвать для лучшего понимания?
https://github.com/DotNetOpenAuth/DotNetOpenAuth, реализация протоколов OpenID, OAuth C# – Smartkid