Мы создаем новое приложение, которое требует доступа к конкретным данным клиента, а OAuth, по-видимому, абсолютно идеально подходит для наших требований - долгоживущие токены доступа, возможность предоставления доступа к определенным ресурсам или областям и т. Д. Мы не ищем здесь возможности типа «войти в систему с Facebook»; мы хотим разоблачить единый специфический сервер аутентификации OAuth на основе нашей существующей базы данных входа в систему и разрешить веб-приложениям и собственным приложениям аутентифицировать пользователей через эту конечную точку.Нужно ли мне реализовать OpenID, а также OAuth 2, чтобы обеспечить аутентификацию и авторизацию API в стиле OAuth?
Я смотрел образцы кода DotNetOpenAuth, и кажется, что все примеры OAuth 2 используют OpenID для выполнения начальной проверки подлинности, а затем используют OAuth для фактического авторизации доступа к ресурсам.
Насколько я понимаю, вы можете использовать авторизацию «no-op» для первоначальной аутентификации, позволяющую использовать OAuth2 для всего процесса; поскольку мы не хотим поддерживать федеративную аутентификацию, OpenID на самом деле ничего не предлагает, и поэтому я предпочел бы придерживаться единственного протокола для простоты, если это возможно.
Есть ли хороший пример в любом месте чистого сервера аутентификации OAuth2, построенного с использованием .NET? Не понял ли я код примера, поставляемый с DotNetOpenAuth? Или OpenID все еще требуется для начальной фазы аутентификации?