2015-01-07 5 views
1

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

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

Итак, при реализации OAuth, я хочу знать, какие данные я могу хранить в своей базе данных о пользователе? На данный момент я могу отправить информационный бюллетень всем пользователям на моем сайте, например, но с OAuth это возможно? Какую информацию я могу получить для каждого пользователя, если они подписаны с использованием OAuth?

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

Спасибо!

+0

OAuth 2.0 сам по себе (то есть без стандартизованных или проприетарных расширений) не может использоваться для аутентификации пользователей, поскольку OAuth 2.0 является протоколом для делегированного доступа API. OpenID Connect - это протокол, построенный поверх OAuth 2.0, который обеспечивает аутентификацию пользователя; ваш вопрос действительно о OpenID Connect, а не о OAuth 2.0. –

+0

@HansZ. Благодаря! Я имею в виду этот метод вообще, тогда я полагаю! – germainelol

ответ

0

Использование OpenID Connect, который является стандартизованным профилем расширения OAuth 2.0, позволяет аутентифицировать пользователей через сторонних поставщиков. Есть также несколько провайдеров, которые создали собственные собственные расширения OAuth 2.0, которые дают им семантику входа, но они не стандартизированы, и ваш код клиента должен иметь дело с каждым из этих проприетарных расширений. Можно ожидать, что все провайдеры, использующие проприетарные расширения OAuth 2.0 для входа, перейдут в OpenID Connect в будущем.

OpenID Connect (а также проприетарные протоколы расширения OAuth 2.0) не просто аутентифицируют пользователей, но также предоставляют идентификационную информацию пользователя в виде претензий (или: атрибутов). Поэтому они do предоставляют основную информацию, которую вы ищете (например, по электронной почте), если только пользователь соглашается предоставить ее вашему клиенту. Вы можете использовать эту информацию и сохранить ее в своей базе данных для автономного доступа.

Преимущество OpenID Connect заключается в том, что он стандартизовал ряд основных требований, чтобы ваш код мог быть агностиком поставщика при работе с информацией о пользователе. См. http://openid.net/specs/openid-connect-core-1_0.html#StandardClaims. Проприетарные протоколы входа в систему OAuth 2.0 не предоставляют стандартизованных требований, поэтому вам нужна индивидуальная обработка (сопоставление/перевод) на одного поставщика.

+0

Это то, о чем меня беспокоило, я могу получить информацию пользователя, но только если они согласятся на это. Я бы предпочел типичную систему регистрации, если это так, чтобы я мог убедиться, что у меня есть определенная информация, когда пользователь подписывается. Спасибо за вашу помощь! – germainelol

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