Настройка Azure Access Control Services для аутентификации с помощью LiveJournal OpenID

Решил некоторые заметки касательно программирования также вести в блоге, т.к. мне  и коллегам периодически приходится сталкиваться с одинаковыми или похожими задачами. Возможно, информация будет полезна кому-либо ещё…

В Azure Access Control Services нет встроенной поддержки провайдеров OpenID, по крайней мере, на момент написания этого поста. Нет и возможности добавить такой identity provider через Access Control Service Management Portal (т.е. в браузере). Поэтому добавлять его надо, обращаясь к Management Service с помощью программы-клиента.

Это легко делается вот по этому HowTo, но (важно!) адрес входа для LiveJournal   будет другой, вместо приведенного в руководстве, указываем вот такой:

http://www.livejournal.com/openid/server.bml

Желательно также указать и имя identity provider’а.

После того, как созданный нами identity provider появился в списке в Access Control Service Management Portal, нужно вручную (ссылка «Generate» тут не поможет) настроить правило, чтобы пробросить claims:

Input claim issuer: Выбираем наш провайдер LiveJournal
Input claim type: Any
Input claim value: Any
Output claim type: Pass through first input claim type
Output claim value: Pass through first input claim value

И ещё одно дополнение. В программе, приведенной в HowTo, провайдер добавляется без картинки — только название и URL.

Чтобы добавить картинку, нужно перед этим блоком:

// Make the identity provider available to relying parties,
// except the Management Service
foreach (RelyingParty rp in svc.RelyingParties)

добавить такой кусок:

// Update the identity provider login image address
var imageAddress = new IdentityProviderAddress
{
    Address = "Полный-URL-картинки-впишите-здесь
",
    EndpointType = "ImageUrl",
};
svc.AddRelatedObject(openId, "IdentityProviderAddresses",
    imageAddress);
svc.SaveChanges();

Кроме типов «SignIn» и «ImageUrl» аналогичным образом можно задать и некоторые другие адреса провайдера.


Желаете отблагодарить автора? Есть несколько возможностей! :-)
Яндекс.Деньги:   PayPal:
Прочие варианты:
  • Купить подарочный сертификат Amazon и послать его на e-mail aleksey@trufanov.com
  • Перевод WebMoney WMZ на счёт Z102288667626
  • Перевод Яндекс Деньги на счёт 41001351592123


Комментирование закрыто.