2009-06-22 2 views
3

Я использую Dotnetopenid для входа.Как выйти из Олицетворящей партии?

Я вхожу в систему в своей заявке, используя поставщик dotnetopenid, предположим, что Google.

Во время выхода из системы я заканчиваю сеанс пользователя моего приложения FormsAuthentication.SignOut(); но если я не закрываю браузер и не вхожу в систему с помощью google, он не будет запрашивать у меня пароль id и присылать меня на защищенную страницу моей апликации.

Кроме того, если я попробую gmail.com, он будет напрямую присылать мне учетную запись пользователя без запроса id-пароля.

Так как я могу полностью выйти из своего приложения и Google?

заранее спасибо

ответ

2

Я думаю, что вы ошибочно полагающейся стороны и поставщика OpenID. Используя StackOverflow в качестве примера, SO - это сторонняя сторона, а другие сайты (например, Google) - это поставщики (ы) OpenID.

Оповещая сторона (например, SO) не имеет права говорить, когда поставщик OpenID (например, Google) решает «забыть» пользователя в своих целях.

EDIT: Я не был знаком с расширением PAPE. Однако, если я правильно понимаю, это не дает возможность RP сказать OP: «На ваш конец, забудьте об этом пользователе», и это то, о чем я думаю, что хочет. Это просто дает возможность RP требовать другую аутентификацию для целей RP.

Я до сих пор не вижу способа (например,), чтобы зарегистрировать пользователя Google из Gmail после того, как SO выйдет из системы.

+2

Мэтт, на самом деле RP * это * имеет некоторое влияние на ли аутентифицирует повторно ОР пользователя через расширение Папе: HTTP: // OpenId. net/specs/openid-provider-authentication-policy-extension-1_0.html # anchor8 –

+0

Привет, Mattew Я исправил свой вопрос. Теперь дайте мне ответ на вопрос. – 2009-06-22 14:45:21

+0

Привет, Мэтью и Эндрю, означает, что из моего приложения (RP) невозможно выйти из поставщика OpenID (например, Google). Я надеюсь, что там должно быть какое-то обходное решение. – 2009-06-23 07:11:33

2

Похоже, что вы ищете функцию выхода из системы, которая позволит полагающейся стороне одновременно выводить пользователя из системы одновременно.

DotNetOpenId не предлагает эту функцию, поскольку сам OpenID не имеет этой функции в спецификации. Сейчас просто невозможно сделать это прямо сейчас. В сообществе OpenID были разговоры о том, как использовать эту функцию, но пока ее нет. Если и когда OpenID добавит такую ​​особенность к своей спецификации, DotNetOpenId добавит поддержку для нее.

+0

Спасибо за четкий ответ. Если у OpenID нет такой функции, но я хочу принудительно выйти из системы, есть ли способ обхода? Многие веб-сайты говорят о краткосрочном cookie, но как я это реализую. – 2009-06-25 13:52:55

+1

Ни один из файлов cookie в RP не поможет вам вывести пользователя из системы. Одним из способов решения этой проблемы было бы распознать конечную точку OP OP, с которой пользователь вошел в систему, и иметь таблицу поиска, которая преобразует ее в URL-адрес, который вы можете перенаправить пользователя, чтобы принудительно выйти из системы OP. Например, http://google.com/signout –

1

У меня была та же проблема. Так что попробовал это ..... когда я вышел из своего веб-сайта, который использует dotnetopenid, я также позвонил в следующую ссылку для выхода gmail https://mail.google.com/mail/?logout&hl=en. Это также внесло меня из gmail.

1

https://www.google.com/accounts/Logout

попробовать это ....

+0

это работает для меня, если мне пришлось выйти из учетной записи пользователя Google в моем веб-браузере. Управление –

+0

PS: если вы щелкнете по ссылке, вы выйдете из своей учетной записи (только для ленивых те, которые будут щелкать и мгновенно выходить из своего аккаунта) –

 Смежные вопросы

  • Нет связанных вопросов^_^