Готовый перевод 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
Настройки
Готово:
