Identity Server 4中的静默式令牌检索



本机/WPF应用程序有没有一种方法可以让Identity Server 4在不需要用户界面的情况下发布令牌,就像Microsoft的MSAL库允许您-https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/Integrated-Windows-Authentication.

MSAL库仅适用于您的Windows用户在authority属性指定的Azure AD租户中进行备份的情况。

使用。NET HttpClient类,我希望如果我在HttpClientHandler中设置UseDefaultCredentials并设置Identity Server,使其使用Windows身份验证作为其"提供者",这将是可能的。

然而,在快速入门示例中,当它尝试在此时对用户进行身份验证时,我会得到401 Unauthorized。我怀疑我在了解Identity Server细节之前就已经遇到了HttpClient类的Windows Auth问题。

如果我通过了这个阶段,我还需要能够处理回调来处理代码/访问令牌。有别的办法吗?

我意识到,WPF中可以显示浏览器窗口来处理一切,但由于公司内部的复杂和政治原因,如果可能的话,我们希望避免这种情况。

所以正确的方法是将Auth Code与PKCE一起使用,你可以将其配置为给你一个刷新令牌,这样你就可以争辩说,你在最初登录时只看到浏览器一次。(我建议这样做(

如果无法获得刷新令牌,则可以使用无头浏览器进行静默刷新。

如果你不想要浏览器窗口,你可以再次拥有一个无头浏览器,只需通过UI与它交互,并在没有人看到的情况下模拟流量。(我不建议这样做(

如果您根本不需要浏览器,可以使用资源所有者密码凭据流。请参阅Scott Brady关于天气的博客文章,你应该或不应该使用它。

OAuth工作组的许多成员现在认为ROPC授予类型已被弃用。

至于

我意识到,WPF中可以显示浏览器窗口来处理所有事情,但由于公司内部的复杂和政治原因,如果可能的话,我们希望避免这种情况。

告诉他们这是不可能避免的。

最新更新