【问题标题】:Windows Forms app consuming ASP.Net Web API using OpenID Connect使用 OpenID Connect 使用 ASP.Net Web API 的 Windows 窗体应用程序
【发布时间】:2019-10-13 10:23:33
【问题描述】:

我正在创建一个包含 2 个部分的通信项目:一个与 ASP.Net Web API 交互的 Windows 窗体客户端 应用程序(注意:不是 ASP.Net Core!),全部在 .Net Framework 4.7 上用 C# 编写。使用此客户端,用户可以向服务器(存储在 SQL Server 中)发布和读取消息。

这个想法是,用户可以使用用户名+密码或“任何”(外部)登录提供程序(例如 Google、Facebook、Microsoft 帐户、Twitter)来创建用户......当然,之后使用相同的凭据登录. API 最好只接受来自客户端应用的调用。

我想使用 OpenID Connect,但 IdentityServer4 仅支持 ASP.Net Core,而这在我的主机上不可用。事实上,我会寻找 OpenIddict 之类的简单性,但同样:没有 ASP.Net Core。 需要明确的是:API 只能由这 1 个应用程序访问(尽管当然可能有多个并发实例 - 用户同时在不同机器上使用该应用程序)。

那么,我有什么问题:

  1. 我对这个项目的基本推理是否有错误?
  2. 是否有任何实现 OpenID Connect 的解决方案(除了“使用 ASP.Net Core”,因为这不是一个选项)?

【问题讨论】:

    标签: asp.net asp.net-web-api identityserver4 openid-connect openiddict


    【解决方案1】:

    有必要澄清这 3 个角色: * UI - 使用标准桌面登录并获取令牌 * API - 验证访问令牌 * 授权服务器 - 颁发令牌

    身份模型实现: * UI:和 API 都可以使用 IdentityModel 库 * IdentityServer3 可用于颁发令牌

    了解这些信息有助于澄清问题 - 希望这能为您指明正确的方向: https://authguidance.com/2018/01/18/desktop-app-technical-workflow/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-22
      • 2012-11-01
      • 1970-01-01
      • 2021-04-04
      • 2020-12-14
      • 1970-01-01
      • 2012-12-11
      • 1970-01-01
      相关资源
      最近更新 更多