<commit_before>## КРАТКО

Vooid (Very Own OpenID server) — это OpenID-сервер для персонального сайта,
написанного на Джанго. Обслуживает единственного пользователя — администратора,
позволяя ему использовать любой URL своего сайта для авторизации по OpenID.

Сделан на библиотеке python-openid и поддерживает версии протокола 1.1 и 2.

## УСТАНОВКА

Сервер требует наличия:

- библиотеки [python-openid](http://openidenabled.com/python-openid/) версий 2.x.
- установленного приложения sites из contrib Джанго

Установка:

1.  Поместить директорию vooid в питоновский путь.

2.  Включить в INSTALLED_APPS:

        INSTALLED_APPS = [
            ...
            'vooid',
        ]

3.  Подключить middleware (выдает HTTP-заголовок для XRDS discovery):

        MIDDLEWARE_CLASSES = [
            ...
            'vooid.middleware.YadisMiddleware',
        ]

4.  Подключить URL'ы служебных view в urlconf проекта:

        urlpatterns = patterns('',
          ...
          (r'^openid/', include('vooid.urls')),
        )

5.  Установить нужные таблицы в базу через ./manage.py syncdb

В простейшем случае этого достаточно. Дополнительные телодвижения требуются для
поддержки версии OpenID 1.1, настройки SREG (выдачи дополнительных данных
пользователя) и настройки URL'а сайта, который будет использоваться в качестве OpenID.

ВНИМАНИЕ! Чтобы куда-то логиниться по OpenID, пользователь должен быть уже залогинен на
своем сервере как администратор. Я посчитал излишним включать в Vooid формочку для логина,
поэтому если администратор не залогинен, Vooid просто сразу отказывает в авторизации.


## НАСТРОЙКИ

По умолчанию OpenID URL'ом считается корень сайта. Если хочется другой, его надо
указать в настройках:

    VOOID_IDENTITY = 'http://mysite.com/about/'

Также Vooid умеет выдавать расширенную информацию о пользователе — [SREG][]. Задается
она так:

    VOOID_SREG = {
        'nickname': 'hax0r',
        'email': '<EMAIL>',
        'fullname': u'<NAME>', # не-ascii строки должны быть unicode
    }

[SREG]: http://openid.net/specs/openid-simple-registration-extension-1_0.html


## ПОДДЕРЖКА OPENID 1.1

Для поддержки старой версии OpenID (которая все еще распространена) нужно в шаблон
той страницы, которая выдается по OpenID URL'у (чаще всего это индекс сайта) включить
теги `<link>` со ссылками на OpenID-сервер. Для этого в Vooid есть шаблонный тег:

    {% load openid %}
    {% openid_links %}

По умолчанию теги выдаются в HTML-синтаксисе (то есть без " />"), но можно их
вывести и в XHTML-фиде:

    {% openid_links "xhtml" %}

Этот тег обычно проще всего указать в базовом шаблоне сайта.


## КООРДИНАТЫ

Автор: <NAME> (<EMAIL>)

Распространяется по лицензии New BSD (3-clause) (см. файл [LICENSE](https://github.com/mvasilkov/vooid/blob/master/LICENSE)).<commit_msg>Update README (link to python-openid)<commit_after>## КРАТКО

Vooid (Very Own OpenID server) — это OpenID-сервер для персонального сайта,
написанного на Джанго. Обслуживает единственного пользователя — администратора,
позволяя ему использовать любой URL своего сайта для авторизации по OpenID.

Сделан на библиотеке python-openid и поддерживает версии протокола 1.1 и 2.

## УСТАНОВКА

Сервер требует наличия:

- библиотеки [python-openid](https://github.com/openid/python-openid) версии 2.x.
- установленного приложения sites из contrib Джанго

Установка:

1.  Поместить директорию vooid в питоновский путь.

2.  Включить в INSTALLED_APPS:

        INSTALLED_APPS = [
            ...
            'vooid',
        ]

3.  Подключить middleware (выдает HTTP-заголовок для XRDS discovery):

        MIDDLEWARE_CLASSES = [
            ...
            'vooid.middleware.YadisMiddleware',
        ]

4.  Подключить URL'ы служебных view в urlconf проекта:

        urlpatterns = patterns('',
          ...
          (r'^openid/', include('vooid.urls')),
        )

5.  Установить нужные таблицы в базу через ./manage.py syncdb

В простейшем случае этого достаточно. Дополнительные телодвижения требуются для
поддержки версии OpenID 1.1, настройки SREG (выдачи дополнительных данных
пользователя) и настройки URL'а сайта, который будет использоваться в качестве OpenID.

ВНИМАНИЕ! Чтобы куда-то логиниться по OpenID, пользователь должен быть уже залогинен на
своем сервере как администратор. Я посчитал излишним включать в Vooid формочку для логина,
поэтому если администратор не залогинен, Vooid просто сразу отказывает в авторизации.


## НАСТРОЙКИ

По умолчанию OpenID URL'ом считается корень сайта. Если хочется другой, его надо
указать в настройках:

    VOOID_IDENTITY = 'http://mysite.com/about/'

Также Vooid умеет выдавать расширенную информацию о пользователе — [SREG][]. Задается
она так:

    VOOID_SREG = {
        'nickname': 'hax0r',
        'email': '<EMAIL>',
        'fullname': u'<NAME>', # не-ascii строки должны быть unicode
    }

[SREG]: http://openid.net/specs/openid-simple-registration-extension-1_0.html


## ПОДДЕРЖКА OPENID 1.1

Для поддержки старой версии OpenID (которая все еще распространена) нужно в шаблон
той страницы, которая выдается по OpenID URL'у (чаще всего это индекс сайта) включить
теги `<link>` со ссылками на OpenID-сервер. Для этого в Vooid есть шаблонный тег:

    {% load openid %}
    {% openid_links %}

По умолчанию теги выдаются в HTML-синтаксисе (то есть без " />"), но можно их
вывести и в XHTML-фиде:

    {% openid_links "xhtml" %}

Этот тег обычно проще всего указать в базовом шаблоне сайта.


## КООРДИНАТЫ

Автор: <NAME> (<EMAIL>)

Распространяется по лицензии **New BSD (3-clause)** (см. файл [LICENSE](https://github.com/mvasilkov/vooid/blob/master/LICENSE)).
{'fraction_non_alphanumeric': 0.08800428418421992, 'fraction_numerical': 0.006069260978222063, 'mean_word_length': 3.5627035830618894, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 15, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4166306', 'n_tokens_mistral': 2317, 'n_tokens_neox': 2569, 'n_words': 597}