我正在使用DotNetOpenAuth库为Google和Yahoo创建SSO登录。当用户点击我的LinkButton(我正在使用自定义登录控件)时,我使用Request.RedirectToProvider()以编程方式重定向到提供程序。Yahoo DotNetAutho SSO登录:阻止Yahoo创建弹出式窗口
这对所有浏览器中的Google和Yahoo都有效。问题在于雅虎似乎认为它是在弹出窗口中打开的,并调整了整个窗口的大小。
如何在DotNetOpenAuth中设置UI类型以防止此行为? UIModes似乎只有Popup模式?
编辑:我没有实际使用过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()
这真的很奇怪,我实际上并没有使用UIRequest扩展(我只是试图解决问题发生后的行为)。我不知道为什么雅虎假设它弹出。其他地方我可能会不小心设置这个值? – 2011-04-19 21:21:44