2013-11-29 2 views
0

Я создаю .net MVC Web API, и я пришел к части аутентификации. Я видел OAuth как почти определенный выбор аутентификации, но везде, где я читал об этом, они говорят о входе в систему с помощью Facebook, Google или другой учетной записи третьей части. На этом я ничего не хочу. Мой вопрос просто: могу ли я использовать OAuth с моими собственными пользователями баз данных или это OAuth, что-то, что я подключаю поверх своей собственной проверки подлинности, а затем подключается к моим собственным пользователям db?OAuth как внутренняя аутентификация?

ответ

0

Если вы используете OAuth, значит у вас нет необходимости хранить фактические данные для пользователя. Поставщик OAuth позаботится об аутентификации пользователя.

Да вам нужно подключить OAuth на вершине своей собственной аутентификации

Пользователь будет перенаправлен на сайт провайдера аутентификации себя, вам просто нужно хранить маркер доступа и доступ к секретному/обновить маркер возвращается от поставщика OAuth в зависимости от того, используете ли вы OAuth 1.0/1.0a или Oauth 2.0. Эти маркеры могут использоваться для дальнейшего доступа.

1

OAuth решает проблему одного веб-приложения пытается получить доступ к другой веб-приложение от имени пользователя без необходимости разделять полномочия.

Могу ли я использовать OAuth с моими собственными пользователями баз данных?

Ответ на этот вопрос да.

В этом случае вы являетесь провайдером (например, facebook или google). Ваш .net MVC Web API служит сервером ресурсов, и вам нужно создать веб-приложение для работы в качестве сервера авторизации. Ваше клиентское приложение или другие 3-е приложения могут перенаправить пользователей в эти приложения, чтобы выполнить аутентификацию и выдавать токен доступа. Вы должны пойти с этой возможностью создания своего собственного сервера ресурсов и сервера авторизации, если вам необходимо предоставить API для сторонних приложений без необходимости использовать учетные данные.

Если все ваши приложения являются внутренними, вы не должны заниматься делением учетных данных, используя обычную проверку подлинности или OAuth.

+0

Итак, если я решил использовать OAuth, мне нужно создать сервер авторизации? Есть ли хорошие учебники о том, как это сделать? Я смотрел на DotNetOpenAuth, но документация очень плохая, я думаю. –

+0

@ Johan Ketels: да, если вас не интересуют общие учетные данные, когда все приложения являются внутренними, обычной проверки подлинности может быть достаточно. Другой вариант - просто использовать существующую OAuth как facebook или google. О учебнике я прочитал эту книгу http://www.apress.com/microsoft/asp-net/9781430257820. Надеюсь, поможет. –

Смежные вопросы