Downtown San DiegoDowntown San Diego // 2016-06-25

Якщо ви активний користувач інтернету, то у вас має бути сила-силенна профілів на різних сайтах. Для входу на сайт потрібно знати пару логін/пароль.

Логін зазвичай використовується однаковий (звісно, якщо він не зайнятий), а пароль вже після 5-го разу набридає придумувати і користувачі починають використовувати один і той же пароль на усіх сайтах.

Продвинуті користувачі використовують 2-3 версії паролів для різніх рівнів безпеки — наприклад:

  • чати/форуми/блоґи (~90%) — найпростійший пароль
  • е-пошта/інтернет-пейджери (~7%) — трохи складніший
  • онлайн-банк/електронні гроші/інші важливі сервіси (~3%) — найскладніший

Виникає питання — а чи не має такої технології, що дозволяє на усіх сайтах використовувати один логін/пароль?

Така технологія є, і називається вона OpenID.

Суть її ось в чому — ви реєструєтесь на одному сайті, який є OpenID-провайдером, і використовуєте цей логін на усіх сайтах, що підтримують вхід на сайт за допомогою OpenID.

Де ж знайти OpenID-провайдера?
Виявляється нічого шукати не треба, скоріше за все у вас вже є OpenID, якщо ви зареєстровані на одному з цих сайтів:

Якщо у вас є блоґ на livejournal.com то ваш OpenID буде ім’я.livejournal.com
Ви можете використовувати його для входу на будь-який сайт, де побачите ось таку іконку: OpenID icon
Наприклад, спробуйте авторизуватися на УкрБаші (де я тиждень тому додав підтримку цієї технології ) і для вас автоматично створиться та авторизується користувач ім’я.livejournal.com (при традиційній реєстрації потрібно вводити логін/пароль і активувати профіль через лінк, що приходить на вашу е-пошту).
Також підтримку OpenID має мій блоґ та блоґ УкрБашу (для коментування дописів).

Але автоматична реєстрація на сайті це ще не все. Ви можете входити на сайт, використовуючи свій OpenID. При цьому, якщо ви обрали постійну авторизацію на сайті OpenID-провайдера, то вводити пароль не потрібно і вхід відбудеться автоматично (крім 1-го разу).
На УкрБаші можна до вже існуючого користувача додати OpenID і використовувати його для входу.

Створений користувач буде мати ім’я та адресу сайту, що використовується як OpenID.
Але чи можна використовувати власний сайт як OpenID?
Виявляється можна — мій OpenID це mrgall.com

Щоб використовувати власний домен як OpenID потрібно:

1. Обрати OpenID-провайдера. Ви можете використовувати ваш існуючий профіль (наприклад на LiveJournal, Яндексі чи Yahoo) або зареєструватися на спеціальному OpenID-провайдері (наприклад myopenid.com).

Я зареєструвався на myopenid.com і мій OpenID це mrgall.myopenid.com.

2. Дізнатися код, що потрібно додати на ваш сайт. Для цього потрібно зайти на вашу сторінку на сайті OpenID-провайдера і у вихідних кодах сайту знайти такі рядки:

<link rel="openid.server" href="http://адреса.серверу" />
<link rel="openid.delegate" href="http://ваш.OpenID" />
<link rel="openid2.provider" href="http://адреса.серверу" />
<link rel="openid2.local_id" href="http://ваш.OpenID" />
<meta http-equiv="X-XRDS-Location" content="http://адреса.сторінки.на.сервері" />

Це записи для OpenID версій 1 і 2, якщо ваш OpenID-провайдер підтримує OpenID лише 1ї версії то рядки 3й та 4й будуть відсутні. 5й рядок теж може бути відсутній.
Якщо ви не знайшли 2й та 4й рядки то не біда, ви можете зробити їх самостійно, підставивши адресу вашої сторінки на сайті OpenID-провайдера.

Якщо ви вирішили використовувати livejournal.com то ваш код буде таким:

<link rel="openid.server" href="http://www.livejournal.com/openid/server.bml" />
<link rel="openid.delegate" href="http://ім’я.livejournal.com" />
<meta http-equiv="X-XRDS-Location" content="http://ім’я.livejournal.com/data/yadis" />

Мій код:

<link rel="openid.server" href="http://www.myopenid.com/server" />
<link rel="openid.delegate" href="http://mrgall.myopenid.com" />
<link rel="openid2.provider" href="http://www.myopenid.com/server" />
<link rel="openid2.local_id" href="http://mrgall.myopenid.com" />
<meta http-equiv="X-XRDS-Location" content="http://mrgall.myopenid.com/xrds" />

3. Додати цей код на ваш сайт. Це потрібно зробити між <head> та </head>.
Приклад ви можете побачити в мене на головній сторінці.

Після цих 3х кроків ви зможете використовувати ваш домен як OpenID

Вдалого користування

Для веб-майстерів, що хочуть додати OpenID на свій сайт:
PHP OpenID Library
Интеграция OpenID в ваш сайт
WP-OpenID