Готовый перевод OpenID Authentication 2.0 / OpenID Аутентификация 2.0: 12. Extensions

Расширение для OpenID идентификации - это протокол который перевозит дополнительные данные через запросы/ответы идентификации. Расширения полезны для обеспечения дополнительной информации о запросе или ответе идентификации, а так же предоставление дополнительной информации о теме(субъекте?) ответа идентификации.

Расширения OpenID определены типом URI. Тип URI МОЖЕТ быть использован как значение элемента OpenID-элемента в документа XRDS ассоциированого с Заявленным Идентификатором(Claimed Identifier). Тип URI так же используется для соотношения пак ключ-значение в сообщении с расширением.

Для сопоставления ключей и значений в сообщении с расширением, ключ ДОЛЖЕН быть соотнесен с типом URI. Для ассоциации ключей с Типом URI, устанавливается псевдоним путем добавления ключа, дополненного префиксом "openid.ns." и заканчивающегося текстовым псевдонимом чье значение является типом URI. Однажды будучи установленным псевдоним, все пары в сообщении ключи которые начинаются с "openid." дополненым текстом псевдонима и точкой или концом ключа, ассоциируются с этим расширением. Этот механизм подобен XML namespaces.

Псевдоним пространства имен НЕ ДОЛЖЕН содержать точек и НЕ ДОЛЖНЫ такими же как другие псевдонимы пространств имен в том же сообщении. Псевдонимы пространства имен так же НЕ ДОЛЖНЫ попадать в следующий список неразрешенных псевдонимов:

assoc_handle
assoc_type
claimed_id
contact
delegate
dh_consumer_public
dh_gen
dh_modulus
error
identity
invalidate_handle
mode
ns
op_endpoint
openid
realm
reference
response_nonce
return_to
server
session_type
sig
signed
trust_root

Пространство имен НЕ ДОЛЖНО ассоциироваться более чем с одним псевдонимом в рамках одного сообщения. Если сообщение является ответом на другое сообщение, то ответ МОЖЕТ использовать другой псевдоним для ссылки на то же пространство имен.

Не нормальный пример:

Тип URI расширения - "/example.com/ext/1.0"

openid.ns.x=http://example.com/ext/1.0

openid.x=example

openid.x.foo=bar

openid.xx=notx

В этом примере ключи openid.x и openid.x.foo ассоциированы с расширением, а ключ "openid.xx" - нет.

Расширения НЕ ДОЛЖНЫ определять несколько параметров с одинаковыми именами. Дополнения, которые нужны для отправки нескольких значений одного и того же параметра, должны сами определить свои собственные соглашения для того, чтобы так делать.

Переведено на Нотабеноиде
http://notabenoid.org/book/23365/104318

Переводчики: Reyko32

Настройки

Готово:

100.00% КП = 1.0