Должен ли я использовать класс Uri для представления идентификатора OpenId в .NET? - PullRequest
0 голосов
/ 13 января 2010

Целесообразно ли использовать класс .NET Uri для обработки OpenId идентификаторов в моем коде? Или мне лучше просто использовать строку?

РЕДАКТИРОВАТЬ: причина моего вопроса в том, что я хочу знать, какой тип данных лучше всего использовать для идентификаторов OpenId в доменном и постоянном уровнях моего приложения. Я использую DotNetOpenAuth на уровне веб-презентации, поэтому имеет смысл использовать класс DotNetOpenAuth Identifier.

На нижних уровнях моего приложения я хотел бы ограничить зависимости от внешних библиотек и типов данных, если это возможно. Поэтому мне было интересно, справился ли System.Uri с работой.

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Похоже, что в версии 2.0 нет новых планов с форматом, кроме добавления XRI (Extensive Resource Identifier, xri: //), поэтому нет причин не анализировать их и иметь Uri, так как вы получите все добавлены функции класса Uri

Начиная с аутентификации OpenID 2.0 (и некоторые реализации 1.1), есть два типа идентификаторов которые могут быть использованы с OpenID: URL и XRIs. Есть два способа получить URL с поддержкой OpenID, который можно использовать для Войдите на все сайты с поддержкой OpenID. Чтобы использовать существующий URL под своим собственным контроль (например, блог или дом страница). Можно вставить соответствующий OpenID теги в HTML [8] или служат Ядис документ. [9] Второй вариант это зарегистрировать идентификатор OpenID с поставщиком удостоверений. Они предлагают возможность зарегистрировать URL (обычно домен третьего уровня, например, example.example.com), который будет автоматически настраиваться с Сервис аутентификации OpenID.

2 голосов
/ 14 января 2010

Вы должны использовать класс DotNetOpenAuth * Identifier, поскольку он поддерживает идентификаторы URI и XRI OpenID, тогда как класс System.Uri поддерживает только идентификаторы URI. Методы Equals класса Identifier реализованы с учетом регистра для областей, где это важно, и без учета регистра для других областей.

Да, вы можете изменить XRI, добавив к нему префикс со схемой xri: // и вставив его в экземпляр Uri, но спецификация OpenID указывает, что схема xri: // не рассматривается в канонической форме и должна не присутствовать для большинства операций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...