Чем дольше и больше времени человек проводит в сети Интернет, тем больше аккаунтов с различных сервисов у него появляется (паролей, логинов и так далее), при этом ему приходится помнить их, либо же хранить в каком-нибудь месте, где потом просматривать их. А это нужно и со временем надоедает. Поэтому пользователь начинает решать эти проблемы, немного по-другому, добавляет сайты, которые он читает в RSS-агрегаторы, различные сервисы RSS-агрегаторов и другое. Но в данной статье мы рассмотрим открытые протоколы авторизации на сайтах, а затем посмотрим способ, как данный протокол можно прикрутить к себе на сайт WordPress, либо же другой удобный для Вас сайт, на любой другой CMS.
Уже многие пользователи сталкивались с таким понятием как OpenID, а в свете популярности на сегодняшний день сервиса микроблогов – Twitter, наверняка сталкивались и таким понятием как OAuth. Это все и есть протоколы авторизации на сайтах. Оба этих протокола позволяют авторизироваться на сайте «без пароля» на сторонних сайтах, которые их поддерживают. Но хочу заметить, что оба эти протокола совсем не конкурентны, как многие считают об этом. В этой статье я хочу понятным языком описать сущность данных протоколов и показать как можно легко добавить OpenID к сайту на WordPress, либо другой своей домашней страничке.
Что такое OpenID?
Сама концепция OpenID состоит в простом создании единого уникального идентификатора для пользователя, который можно было бы использовать во всем Интернете, то есть абсолютно на любых сайтах. Я думаю, что Вы согласитесь, когда скажу, что регистрация на новом сайте порой может надоедать, особенно, когда необходимо заполнять от 10 до 20 различных полей и это все для того, чтобы оставить обычный комментарий на сайте или форуме.
Как можно получить и прикрутить OpenID?
Первый способ. Регистрация на сайтах, на которых уже имеется такой протокол OpenID, к ним относится:
Третий способ. Это установка собственного OpenID сервера, но это достаточно сложно, так что советую Вам использовать уже существующие сервисы.
Четвертый способ. Делегация. Для этого мы должны на нашу страницу добавить несколько строчек HTML-кода, нам необходимо будет указать какой провайдер будет обслуживать ту или иную страницу. Код примерно будет выглядеть следующим образом:
В этом случае, у нас нет необходимости запоминать URL нашего OpenID провайдера, нам только необходимо запомнить адрес своего сайта.
Как пользоваться OpenID?
Ну самый первый критерий, где Вы можете использовать OpenID – это сайт, на котором Вы планируйте авторизироватся должен естественно поддерживать OpenID.
После заполнения формы авторизации и нажатию на кнопку «Отправить», после этого Вы попадаете на страницу провайдера, на котором будет информация о том, какой сайт, и какую информацию запрашивает. Далее будут предложены варианты Ваших действий:
Разрешать всегда
Разрешить единожды или отказать
После подтверждения данные попадают на сайт, который их запрашивал.
Что такое OAuth?
Данный протокол интересен тем, что он позволяет третьей стороне получать Ваши данные на другом сервисе, при этом Вы не предоставляете пароль от этого сервиса.
Давайте рассмотрим такую ситуацию: Вы зарегистрировались на каком-нибудь сервисе, который предлагает добавить определенное событие в Google Calendar. С помощью протокола OAuth это можно сделать не сообщаю данному сервису Ваш пароль от аккаунта Google. При этом протокол OAuth позволяет выдавать разрешение только лишь на изменения Вашего календаря, а также на обращения к нему один раз или же на постоянный доступ, чтобы Вы всегда были в курсе определенных событий.
Как можно получить OAuth?
Протокол OAuth должен поддерживать сервис, доступ соответственно к которому Вы предоставляете. Из самых известных таких сервисов являются:
Google
Yahoo!
Twitter
Данный протокол в первую очередь будет интересен авторам различных сервисов и клиентов, а самое главное то, как он работает.