IdentityServer3替代webbrowser导航事件

时间:2016-08-01 21:24:57

标签: c# wpf identityserver3

我正在为IdentityServer3开发POC。

我有一个样本应用程序WebHost(minimal)的版本正常运行。

对于客户端示例应用程序,我使用的是wpf客户端(与pkce混合使用)。

我需要混合示例,因为已经修改了webhost以使用自定义ExternalRegistrationUserService。

但是,他们为混合客户端提供的所有示例都使用网络服务器导航事件,该事件使用不建议用于控制台应用程序/窗口服务的线程模型。

一个明显的问题是,是否有一个控制台友好相当于导航没有绑定到ui控件?

httpwebrequest几乎做了我想要的但是identityserver3似乎想要在我需要拦截的链中发送多个响应,而我做的任何httpclient或httpwebrequest调用似乎只想返回第一个响应。

1 个答案:

答案 0 :(得分:1)

我刚刚使用recent blog post Dominick Baier中的信息编写了一个非常相似的POC。

本质上,此方法使用本地客户端应用程序使用新的IdentityModel.OidcClient库和本地HTTP侦听器的组合来接收重定向。

我参与了Dominick的一个示例,它展示了如何将OidcClient与HTTP侦听器一起使用以在控制台应用程序中启用混合流。您可以找到代码here

我认为这个示例将完成您的工作,但它会从外部弹出系统Web浏览器。但是,如果您想在本机客户端内部执行所有操作,OidcClient还支持用户提供的WebView。