【问题标题】:.NET Core 2 web application and Electron js desktop application - common authentication system.NET Core 2 Web 应用程序和 Electron js 桌面应用程序 - 通用身份验证系统
【发布时间】:2018-03-12 16:51:25
【问题描述】:

我将编写两个应用程序。第一个是 .NET Core 2.0 中的 Web 应用程序,第二个是用 ElectronJs 编写的桌面应用程序(它应该是跨平台的)。

我需要一个系统登录。我阅读了有关 OAuth2 的信息,但不确定它是否适用于 Web 应用程序。

我可以在 Web Api 的 .NET Core 中编写自己的服务器身份验证,但之后每次我需要检查用户是否通过身份验证时,用户和密码都会通过互联网从 Electron 发送。

因此,更好的方法是执行 OAuth2 和一个登录窗口,该窗口将添加到 .NET Core 中的 Web 应用程序和 Electron。然后我将使用令牌检查用户是否已通过身份验证。 这是一个好的解决方案吗?

【问题讨论】:

    标签: .net-core oauth-2.0 electron


    【解决方案1】:

    您最终应该开发这些组件:

    • 桌面用户界面(电子)
    • Web UI(我会使用 SPA,但如果您愿意,可以使用 .Net Core)
    • Web API (.Net Core) - 由两个 UI 调用

    同时,您需要决定使用第 3 方授权服务器组件。您不会自己编写代码:

    • 处理 OAuth 2.0 和 Open Id Connect 消息
    • 提供登录页面,您无需编写任何内容

    博客 + 代码示例

    将 OAuth 应用程序编码到一个好的水平是相当棘手的,但我有一个可视化博客和一些基于我公司实施的代码示例。

    我希望读者可以浏览它并查看屏幕截图以了解主要问题,并为自己节省一些工作。

    基本交互

    以下链接显示了上述组件如何协同工作:

    桌面应用程序

    桌面应用程序难以理解 - 建议打开系统浏览器。我有几个使用 Electron 的示例 - 也许从这里开始:

    【讨论】:

      猜你喜欢
      • 2010-11-06
      • 2011-01-22
      • 2018-07-13
      • 2020-07-30
      • 2019-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-14
      相关资源
      最近更新 更多