我有一个使用 DotNetOpenAuth 3.5 进行 Google OpenId 身份验证的 ASP.NET 应用程序。
我最近不得不将 OpenId 行为更改为弹出窗口,以获得更流畅的 UX 体验。但是,弹出窗口会显示一个未针对弹出窗口优化的 Google 登录对话框。我意识到我必须以某种方式将 ltmpl=popup 参数添加到 url https://accounts.google.com/ServiceLogin?,但不知道如何。你能提供一些帮助吗?这是我正在使用的代码
string discoveryUri = "https://www.google.com/accounts/o8/id";
OpenIdRelyingParty openid = new OpenIdRelyingParty();
var b = new UriBuilder(context.Request.Url);
var req = openid.CreateRequest(discoveryUri, b.Uri, b.Uri);
var fetchRequest = new FetchRequest();
fetchRequest.Attributes.AddRequired(WellKnownAttributes.Contact.Email);
req.AddExtension(fetchRequest);
req.RedirectToProvider();