Я бы хотел использовать OpenID для аутентификации пользователей в моем веб-приложении - подобно тому, как это делает StackExchange. Я также хотел бы разрешить пользователям моего веб-сайта использовать мои настольные и мобильные приложения с использованием одной и той же учетной записи. Я прочитал это требует OAuth (OpenID только для веб-сайта).
Чего я не знаю, так это
- Это правильный подход?
- Каким будет рабочий процесс для этого?
- Какие данные мне нужны в моей базе данных на пользователя / OpenID? Сохраняю ли я «учетную запись», а затем, когда они проходят проверку подлинности с помощью OpenID, я разрешаю им создавать токен OAuth для мобильного приложения?
В идеальном мире я мог бы иметь кнопки, аналогичные кнопкам на https://stackoverflow.com/users/login, как для моего WebApp, так и для моих настольных и мобильных приложений, которые позволили бы пользователям просто войти в систему с помощью своей учетной записи Google или Facebook. , это возможно? Простота для пользователей имеет первостепенное значение, потому что моя база пользователей не воспримет ничего сложного удаленно.
Могу ли я использовать что-то вроде DotNetOpenAuth для обеспечения всех этих функций?
Было бы лучше решить эту проблему и разрешить пользователям проходить аутентификацию на моем сайте с помощью OpenID, а затем я предоставляю свою собственную схему OAuth для своих настольных и мобильных клиентов?