Yahoo DotNetAutho SSO登录:阻止Yahoo创建弹出窗口

|| 我正在使用DotNetOpenAuth库为Google和Yahoo创建SSO登录。当用户单击我的LinkBut​​ton时,我使用Request.RedirectToProvider()以编程方式重定向到提供程序(我使用的是自定义登录控件)。 这对于所有浏览器中的Google和Yahoo都适用。问题在于Yahoo似乎认为它正在弹出窗口中打开,并调整了整个窗口的大小。 如何在DotNetOpenAuth中设置UI类型以防止此行为? UIModes似乎只有弹出模式? 编辑:我实际上没有使用过UIRequest扩展。那是我调试工作的一部分。 请求代码如下:
Dim OpenIDEndpoint As String = WellKnownProviders.Yahoo.ToString, OpenID As OpenIdRelyingParty = New OpenIdRelyingParty
    Dim LoginRequest As IAuthenticationRequest = OpenID.CreateRequest(OpenIDEndpoint)

    Dim Fields As ClaimsRequest = New ClaimsRequest()

    Fields.Email = DemandLevel.Require
    Fields.FullName = DemandLevel.Require
    Fields.Nickname = DemandLevel.Require
    Fields.BirthDate = DemandLevel.Require
    Fields.Gender = DemandLevel.Require

    LoginRequest.AddExtension(Fields)
    LoginRequest.RedirectToProvider()
    
已邀请:
UI扩展严格供弹出窗口使用。如果您没有在弹出窗口中打开提供商的登录页面,请不要附加“ 1”扩展名。 我希望这将解决调整大小的问题。     
感觉这比在评论中更好地表达比评论: 甚至StackOverflow的Yahoo登录页面也有同样的问题! 在检查SSO \的Yahoo \的登录链接时,我注意到Yahoo \的SSO登录页面似乎已针对弹出式登录进行了优化。在页面上,有这个JS:
<script type=\"text/javascript\">
var isPopup = \"true\"; //<-- Note this
if (window.opener || isPopup) {
  var Dom = YAHOO.util.Dom;
  var Event = YAHOO.util.Event;

  (function() {
    if (Dom.getViewportWidth() < 500 || Dom.getViewportHeight() < 675) {
        window.resizeTo(500,675);
    }
  })();

...
即使SSO不使用弹出窗口,雅虎似乎也将isPopup值设置为true。我不知道这是Yahoo的错误,还是DotNetOpenAuth中的某些错误/错误。我会欢迎安德鲁对此的看法吗? 更新: 很奇怪,SSO吃了我的更新。 http://developer.yahoo.com/oauth/guide/oauth-userauth.html-Yahoo显然仅针对弹出窗口优化了其SSO登录页面。调整窗口大小可能是此结果。     

要回复问题请先登录注册