На v.3.4.5, который я использую, свойство Mode UIRequest имеет как getter, так и setter.
var req = openid.CreateRequest(openid_identifier);
// Add UI Request
if (req.DiscoveryResult.IsExtensionSupported<UIRequest>())
{
req.AddExtension(new UIRequest()
{
Mode = UIModes.Popup
});
Вы должны создать всплывающее окно самостоятельно. После аутентификации вы должны обновить родительское окно и закрыть всплывающее окно.
При отправке формы у меня есть
<form action="/Account/OpenIdLogOn" target="popupWin" onsubmit="return openWindow('/Account/OpenIdLogOn', 'popupWin', 500, 500);">
, где
function openWindow(url, wname, width, height) {
window.open(url, wname, "height=" + height + ",width=" + width + "location = 0, status = 1, resizable = 0, scrollbars=1, toolbar = 0");
return true;
}
и в результате просмотра у меня есть следующий JavaScript
<script type="text/javascript">
$(function () {
if (window.opener) {
window.opener.location.href = window.opener.location.href;
window.close();
}
});
</script>
Надеюсь, это имеет смысл.