OpenID является слишком сложным?

Я начинаю серьезно сомневаться относительно сообщества OpenID несмотря на то то, что оно работает.

Я нахожусь в процессе текущей оценки OpenID как услуга аутентификации для 'этого' сайта и в то время как обещания являются большими, я просто не могу заставить это работать. И я действительно потерян.

Я прошу ТАКИМ ОБРАЗОМ сообщество помогать мне здесь. Дайте мне ответы и покажите мне примеры, таким образом, я могу усилить это в способе, которым это было предназначено, чтобы быть.

Мой сценарий очень типичен. Я хочу аутентифицировать пользователей через определенный домен Google Apps. Если у Вас есть доступ к этому домену Google Apps, то у Вас есть доступ к моему веб-приложению.

То, где я заблудился, является всеми предпосылками и включенными зависимостями.

  1. Что такое XRD?
  2. Что такое Yadis?
  3. Почему мне нужны XRD и Yadis?
  4. Что я должен сделать для развертывания аутентификации OpenID на моем веб-сайте?

Кроме того, это действительно важно для меня.

Когда я вхожу в систему к Так, я использую свой Google Account. Когда я нажимаю кнопку входа в систему, мне дарят эту страницу подтверждения. Где я предоставляю ТАК право использовать мои учетные данные Google Account.

Так или иначе Google знает, что это - "Stackoverflow.com", это спрашивает меня, если это должно хорошо войти в систему. И я хочу знать, какой способ управления я имею по этому небольшому тексту. Я намереваюсь развернуть OpenID на нескольких различных доменах, но я предпочел бы, если они будут все работать, не имея необходимость индивидуально настраиваться со специальными параметрами, такими как секретные ключи API и что нет. Однако я не знаю наверняка, если это - предпосылка OpenID, этого или Федеративного API Входа в систему, который обеспечивает Google.

14
задан Benjol 27 January 2010 в 11:14
поделиться

4 ответа

Я фактически нашел решение моей проблемы, а точнее, так это было очень просто. Я до сих пор не понимаю XRDS и YADIS, но я очень легко люблю так.

Что вы хотите, и что вы ищете, это код для выполнения OpenID «ретрансляционная вечеринка». Это «ты» как потребитель OpenID поставщиков. Вы вводите openId конечную точку и Voila, вы открыли ваш сайт, этот код иллюстрирует, что на практике.

// using DotNetOpenAuth
var openid = new OpenIdRelyingParty();
var response = openid.GetResponse();
if (response == null)
{
    // Google account end point (works fine)
    var googleID = "https://www.google.com/accounts/o8/id";
    // Google hosted account end point
    //  https://www.google.com/accounts/o8/site-xrds?hd=mydomain.com
    // I was unable to test this, but I was running my RP (this code)
    // from localhost and it's quite possible that a hosted account RP
    // has to return to the same domain.
    // It went fine, but crashed with a "Unable to resolve mydomain.com" error
    // once I logged in.
    openid.CreateRequest(googleID).RedirectToProvider();
}
else
{
    switch (response.Status)
    {
        case AuthenticationStatus.Authenticated:
            // Success
            // to allow persistance across sessions
            // you'll have to track the "claimed identifier"
            // some OpenID providers allow you to get an email address through
            // extensions but this is not always possible.
            // the claimed identifier is typically your safest bet
            // and it's a big URL which uniquely identifies the guest
            // as a specific user, however, you know very little about this user
            // which is a good thing becuase you don't have to give out personal or
            // sensitive information to start using a service.
            break;

        default:
            // Something went wrong, check Status property
            break;
    }
}

Пока я выяснил это, я получил впечатление от каждого спецификации. Там, что я должен был провести свой собственный «Provider Provider», который сделал это звучать так, будто я должен был обрабатывать учетные записи или некоторую часть процесса. На самом деле все, что мне нужно было сделать, это было.

Запрос на этот URL или, если вы получите запрос на OpenDID в ответ. Убедитесь, что этот запрос содержит допустимый вход в систему.

3
ответ дан 1 December 2019 в 14:21
поделиться

На самом деле ответить на вас вопрос (то есть, игнорируя все аргументы), я как мы говорим с использованием dotnetOpeneOpenauth для реализации разрешения OpenID для одного из моих сайтов; И это было довольно тривиально.

Это просто .NET Control, который вы бросаете его, настройте крошечное количество вещей, а затем позвольте ему ссылаться на формы аутентификации. Довольно мило.

6
ответ дан 1 December 2019 в 14:21
поделиться

Хорошо, у вас есть много вопросов под одним заголовком. Позвольте мне посмотреть, смогу ли я сломать его.

XRD и YADIS:

«Ядис» было названием «Ядис», было названием для Discovery Service Discovery of OpenID - это бит, который вы получите от «My OpenID Issica.com» на «авторитетный сервер для моего OpenID в OpenID .example.com / сервер и он поддерживает V2 с помощью расширений AX. " XRDS - это XML-схема, которая содержит эту информацию.

(тот факт, что OpenID (стандарт, который мы разработали в рамках не признанных стандартов), зависит от XRD (из другого стандарта работы в работе в совершенно разных стандартов ), возможно, к сожалению. Все я Можно сказать, что это казалось, что в то время казалось хорошей идеей.)

«Что мне нужно сделать для развертывания?»

См. Джозеф Смарр Рецепт для OpenID, позволяющий вашему сайту . Святая корона, это уже 2+ лет? Однако это все еще актуально.

Как поставщик OpenID определяет ваш сайт (полагаясь):

этот маленький текст (например, «StackoverFlow.com») является OpenID «REALM», который является параметром, который вы передаете поставщику, и является строгим Подмножество URL конечной точки, которую вы используете для обработки их ответа. (Итак, если вы сообщите серверу, чтобы отправить ответ OpenID на Server2.example.com/foobar, ваша царство может быть exament.com, или server2.example.com, или Server2.example.com/foobar, но не Server99.example .com.)

Секретный API Ключи:

В целом, не существует неполосного секретного ключа API для получения. Для поставщиков общего назначения клавиши просто выпускаются через стандартную ассоциацию ассоциации OpenID.

Теперь вы нажали на некоторые функции, здесь, какие поставщика OpenID, безусловно, считают ценным - как «Как я могу сказать пользователя более удобным для пользователя, какой сайт они входятся в систему, чем показывают их URL Выдержка "или" Как я могу определить этот запрос действительно исходит с RP, у меня есть какие-то договорные отношения с «, но такие особенности не являются чем-то, что в стандарте OpenID 2.0.

4
ответ дан 1 December 2019 в 14:21
поделиться

Это звучит так, как вы действительно хотите исследовать RPX - это решение, которое позволяет вам легко использовать разработчики (и пользователям) Механизмы аутентификации, включая OpenID.

Работа в качестве прокси-сервера между сторонними поставщиками идентификаторов и вашим веб-сайтом, RPX поможет вам без усилий аутентифицировать пользователей с их существующей учетной записью на Facebook, Google, Yahoo!, Twitter, MySpace, AOL, Windows Live / MSN / Hotmail или любой другой OpenID поставщик.

2
ответ дан 1 December 2019 в 14:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: