Owncloud: как генерируется каждый идентификатор Federated Cloud?

У Owncloud есть идентификатор Federated Cloud для получения дополнительной информации (https://owncloud.org/federation/).

Например, Federated Cloud ID:

[email protected] 
[email protected] 
  col1   col2 col3 col4  col5

[Вопрос] Как генерируется каждый Federation Cloud ID? Есть ли какой-нибудь шаблон или какой-то алгоритм для генерации каждого столбца?

Например:

  • Можем ли мы заключить, что все заканчивается на 9dbd8c6b1579,

  • Тире (-) генерируется по тому же шаблону?

На примере, как вы можете видеть, третий и пятый столбцы одинаковы для двух разных Federation Cloud ID, а третий столбец состоит из всех цифр. Это верно для всех Federation Cloud ID?


person alper    schedule 03.06.2017    source источник


Ответы (1)


Это UUID RFC-4122 V1 (внутреннее имя пользователя), поступающий с подключенного сервера LDAP. Обычно Federated Cloud ID создается путем соединения уникального <username> с <server_url> вашего экземпляра, но в некоторых старых версиях oC вместо этого использовался UUID LDAP.

РЕДАКТИРОВАТЬ: Это действительно хорошо известное техническое ограничение; вы можете отследить его в https://github.com/owncloud/core/issues/23412 и https://github.com/owncloud/core/issues/29503 как возможное будущее решение.

person Alfageme    schedule 01.08.2017
comment
Я использую eudat-b2drop: b2drop.eudat.eu/login Я не уверен, какая версия сервера owncloud они используют @Alfageme - person alper; 03.08.2017
comment
Судя по b2drop.eudat.eu/status.php, они используют NextCloud. версия 11.0.3. Возможно, вы захотите взглянуть на эту проблему github.com/nextcloud/server /issues/5406 для пояснений и дополнительной информации. Кроме того, я был неправ, это не было исправлено в oC 9.x. Создание федеративного общего ресурса с пользователем LDAP в настоящее время не так удобно. - person Alfageme; 03.08.2017
comment
Я просто использую этот веб-сайт b2drop.eudat.eu, он автоматически создает для меня облако федерации. , я не уверен в его версии. Я понимаю, что все заканчивается на 9dbd8c6b1579 . Это нормально, что все идентификаторы федерации заканчиваются этим строковым шаблоном? @Alfageme - person alper; 19.10.2017
comment
Нет, как указано в исходном ответе; этот идентификатор облака федерации привязан к UUID LDAP (уникальный идентификатор). Если следует структура, определенная в tools.ietf.org/html/rfc4530#section-2.1 т. е. 16 октетов, закодированных как URN; где последние 12 цифр соответствуют части узла: tools.ietf.org/html/ rfc4122#section-4.1.6 (какое поколение зависит от версии, которую реализует их LDAP) - person Alfageme; 19.10.2017
comment
Как насчет сгенерированных тире? После первого 8-го символа, а затем после каждых 4 символов генерируется тире, происходит ли это одинаково для всех идентификаторов облака федерации, сгенерированных через b2drop.eudat.eu? Может быть, b2drop.eudat.eu привязан к строке 9dbd8c6b1579? @Альфагейм. - person alper; 19.10.2017
comment
Да, дефисы являются частью формального определения UUID и всегда помещаются после одних и тех же октетов. И, как уже говорилось, часть строки узла может быть разделена между пользователями на одном и том же сервере LDAP (например, первая версия UUID состояла из MAC-адреса сервера). - person Alfageme; 19.10.2017
comment
Когда я убрал тире, идентификатор облака Федерации стал 32 байта! Это был размер, который я хочу получить. Итак, насколько я понимаю, я могу хранить строку без тире, и после того, как я получу строку, я могу поместить тире после ее постоянных октетов. @Alfageme - person alper; 19.10.2017
comment
Чего вы пытаетесь достичь, манипулируя идентификаторами федерации, если я могу спросить. Обратите внимание, что вы не должны полагаться на то, что последняя часть всегда будет одинаковой даже для одного и того же сервера LDAP (например, UUID могли быть сброшены с разных старых серверов). - person Alfageme; 19.10.2017
comment
Только отбрасывание тире решит мою проблему, сделав ее 32 байта. Мне нужно сохранить строку в блокчейне ethereum, где хранение строки обходится дорого, и рекомендуется хранить строки как 32 байта. Поэтому я пытаюсь уменьшить размер идентификатора федеративного облака, где я мог бы получить его исходный формат из уменьшенного регистра. Например, поскольку я знаю расположение тире, как вы упомянули, я могу добавить их к сокращенному регистру. @Alfageme - person alper; 19.10.2017