Как установить параметр URL-адреса OpenID в OWIN

У меня есть эта базовая настройка:

Запрос HTTP -> Аппаратный маршрутизатор OpenWRT -> Apache -> IIS. Между Apache и IIS есть простая конфигурация mod_proxy, например:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName steam.domain.com

    ProxyPass / http://192.168.1.9/ timeout=600 Keepalive=On
    ProxyPassReverse / http://192.168.1.9/
</VirtualHost *:80>

Само приложение, размещенное на 192.168.1.9 IIS, работает безупречно, за исключением одного: когда я следовал руководству с веб-сайта, мой URL-адрес возврата Steam OpenID был установлен на 192.168.1.9 вместо steam.domain.com. Host находится в строке запроса OpenID, поэтому я предполагаю, что его можно как-то изменить?

Редактировать: проблема заключается в том, что когда я нажимаю кнопку Steam в окне входа в систему, я получаю экран входа в SteamCommunity с Sign In through Steam at 192.168.1.69 вместо Sign In through Steam at steam.domain.com, как на картинке: выпуск


person Adrian K.    schedule 15.04.2014    source источник
comment
Возможно, я неправильно понял вопрос: сайт steam.domain.com доступен для просмотра публично?   -  person Jérémie Bertrand    schedule 15.04.2014
comment
Да, это так. Но это голый шаблон с установленным только вашим плагином, поэтому я пытаюсь найти способ увидеть Use Steam to login into steam.domain.com вместо того, что у меня есть сейчас: Use Steam to login into 192.168.1.69, поэтому я проверил URL-адрес, на который меня перенаправляют после нажатия кнопки Steam, и он содержит этот локальный IP также. Я пытаюсь это как-то исправить, но пока безуспешно, поэтому я надеюсь, что мы что-нибудь придумаем   -  person Adrian K.    schedule 15.04.2014
comment
похоже, что ссылка генерируется с IP-адресом вместо домена. Это потому что есть перенаправление между доменом на ip адрес? Я проверю это на реальном домене, как только смогу.   -  person Jérémie Bertrand    schedule 16.04.2014
comment
@JérémieBertrand спасибо за всю вашу помощь, очень признательна :) скрестив пальцы и с нетерпением ожидая результатов!   -  person Adrian K.    schedule 17.04.2014
comment
К сожалению, я не могу воспроизвести проблему, вы можете проверить ее на steam.laedit.net. Таким образом, проблема, по-видимому, вызвана всей маршрутизацией/перенаправлением, и я думаю (поправьте меня, если я ошибаюсь), что IIS не знает доменного имени, только IP-адрес.   -  person Jérémie Bertrand    schedule 17.04.2014
comment
Просто чтобы быть уверенным, домен, указанный в Steam для ключа API, — steam.domain.com?   -  person Jérémie Bertrand    schedule 17.04.2014
comment
Только что проверил ключ и домен правильный. Я также попробовал вашу ссылку, и после входа в систему я получил эту ошибку: Ошибка, ту же ошибку я получаю, когда жестко кодирую свой домен вместо переменной Request.Host в файле OpenIDAuthenticationHandler.cs.   -  person Adrian K.    schedule 17.04.2014
comment
Также я пытался получить помощь в моем сообщении о ServerFault. , вы можете проверить это, чтобы посмотреть на мою конфигурацию.   -  person Adrian K.    schedule 17.04.2014
comment
У меня такая же ошибка, когда я еще не зашел на сайт Steam. Я буду смотреть в него.   -  person Jérémie Bertrand    schedule 17.04.2014
comment
После некоторых исследований ошибка возникает из-за проблемы с базой данных, а не из-за обратного вызова openId.   -  person Jérémie Bertrand    schedule 17.04.2014


Ответы (1)


URL-адрес возврата основан на запросе, запущенном, когда пользователь щелкает ссылку для аутентификации через Steam:

private string BuildReturnTo(string state)
{
    return Request.Scheme + "://" + Request.Host +
        RequestPathBase + Options.CallbackPath +
        "?state=" + Uri.EscapeDataString(state);
}

В OpenIDAuthenticationHandler.cs.

Поэтому я думаю, что проблема только в dev (я предполагаю, что веб-сайт все еще находится в dev из-за IP-адреса 192.168, но я ничего не знаю об аппаратном маршрутизаторе OpenWRT и mod_proxy).

person Jérémie Bertrand    schedule 15.04.2014
comment
Я отредактировал исходный пост, надеюсь, теперь это будет намного яснее. - person Adrian K.; 15.04.2014