2013-03-11 4 views
1

Я включаю Google и Facebook OAuth2.0 на свой сайт. Я получил его, чтобы он заполнил мою регистрационную форму с именем, фамилией и электронной почтой (пароль должен вводиться вручную). Теперь я хочу включить, чтобы пользователи могли войти/зарегистрироваться без ввода пароля. Как я уже упоминал, я могу получить адрес электронной почты без проблем с OAuth, но я не знаю, что использовать в качестве пароля, потому что я не могу иметь пустое поле пароля в моей базе данных (тогда вы могли бы ввести адрес электронной почты пользователей без пароля и войти в систему).Что я могу использовать в качестве пароля при регистрации/регистрации пользователей с OAuth2.0?

В моей базе данных я проверяю поля электронной почты и пароля (простой логин).

Как я могу зарегистрировать пользователей с помощью OAuth (что ввести в поле пароля), чтобы я мог войти в систему позже, просто щелкнув значок OAuth?

Есть ли какой-либо ключ, который является специфичным для пользователя и не является общедоступным?

+0

Итак, что у вас есть попробовать? –

+0

_ "потому что у меня не может быть пустое поле пароля в моей базе данных" _ - почему бы и нет? Исправьте структуру базы данных, если она не подходит для этого варианта использования. Или, если это система, которую вы не можете изменить, просто напишите какое-нибудь случайное значение/хэш там, что никто не сможет угадать. – CBroe

+0

Я просто хочу знать, какие данные из ответа OAuth я могу использовать в качестве пароля для своего поля регистрации. Я еще не пробовал делать. – BoonZ

ответ

0

Я думаю, вы не поняли истинного смысла OAuth.

OAuth создает и авторизует слой и отделяет роль клиента от роли владельца ресурса. Клиентское приложение получает доступ только к тем ресурсам, которые контролируются владельцем ресурса после предоставления Авторами информации, предоставленной Пользователем.

В целях безопасности учетные данные владельца ресурса для доступа к защищенным ресурсам, клиент получает токен доступа - строку, обозначающую конкретную область действия, срок службы и другие атрибуты доступа.

Точки доступа выдаются сторонним клиентам сервером авторизации с одобрения Пользователя. Клиент использует токен доступа для доступа к защищенным ресурсам, размещенным сервером владельца ресурса.

В соответствии с RFC 6749:

The authorization server MUST NOT issue client passwords or other 
client credentials to native application or user-agent-based 
application clients for the purpose of client authentication. The 
authorization server MAY issue a client password or other credentials 
for a specific installation of a native application client on a 
specific device. 

Таким образом, нет никакой необходимости пароля

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

  • Нет связанных вопросов^_^