identityserver4 - 没有 WebBrowser 的 WPF 客户端登录
问题描述
我有一个使用 IdentityServer 的角度网站,这似乎工作正常。该站点由 API 支持。我还需要有一个 Windows wpf 应用程序,它允许用户使用相同的凭据登录,然后与相同的 api 对话。
我可以看到执行此操作的 WPF 示例,但它们使用 Web 浏览器和 HttpListener 进行响应。我宁愿不这样做!
据我所知:
var disco = await DiscoveryClient.GetAsync(_options.IdentityUrl);
if (!disco.IsError)
{
//var tokenClient = new TokenClient(disco.TokenEndpoint, "client.web", "secret");
var client = new HttpClient();
var passwordRequest = new PasswordTokenRequest
{
Address = disco.TokenEndpoint,
GrantType = GrantTypes.Password,
ClientId = "client.web",
ClientCredentialStyle = ClientCredentialStyle.PostBody,
UserName = request.Email,
Password = SecureStringToString(request.Password)
};
var response = await client.RequestPasswordTokenAsync(passwordRequest);
}
我在允许的授权类型中添加了密码。
响应是 invalid_client。
有人做过吗?
解决方案
推荐阅读
- c# - 运行所选代码生成器时出错:“未找到主键。”
- python - 如何用python读取素数文件;转换为列表
- python - 如何使用 .query() 通过时间戳函数过滤 Pandas 数据帧
- javascript - Python 运行 JavaScript 3.8
- google-apps-script - 仅备份值或在备份后将公式转换为值
- java - 当您使用朴素贝叶斯算法拼错单词时,获取字典(数据库)的接近单词
- bash - 如何在bash的if-else中使用变量?
- listview - Listview.builder 在颤振上创建重复项目
- python - 无法在此网格中并排对齐特定图案
- javascript - 不同类型的表单数据 - 有没有更好的方法来预览输入数据?