使用 Microsoft Katana 时如何修改 OAuth 身份验证请求 URL 的查询参数?

How do you modify the query parameters on an OAuth authentication request URL when using Microsoft Katana?

我有 ASP.Net MVC 5 使用身份框架和 OWIN 允许用户通过 OAuth 登录。

具体来说,我目前正在针对 Twitter 进行身份验证,我想添加 force_login=true 以便用户能够选择要使用的帐户,而不是使用他们的帐户自动进行身份验证我已经用

登录了 Twitter

我已经找到了这段似乎构建 URL 的代码,据我所知,没有提供任何可以修改 URL.

的点

Microsoft.Owin.Security.Twitter/TwitterAuthenticationHandler.cs

class 是 Microsoft 程序集内部的,所以我能看到的唯一可用选项是复制 class 和所有必需的支持代码,然后手动使其与原始代码保持同步,如果他们做出改变。

我还缺少其他方法吗?

如果可以避免的话,我真的宁愿避免制造维护噩梦。

您可以连接到 Options.Provider.ApplyRedirect(redirectContext),它将从 ApplyResponseChallengeAsync 调用。