.NET Core 2 Web 应用程序和 Electron js 桌面应用程序 - 通用身份验证系统



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

我需要一次系统登录。我读过关于OAuth2的信息,但我不确定它是否对Web应用程序有好处。

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

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

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

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

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

  • 处理 OAuth 2.0 和开放 ID 连接消息
  • 提供登录页面
  • ,这样您就不需要编写登录页面

博客 + 代码示例

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

读者只需浏览并查看屏幕截图即可了解主要问题,并节省一些工作。

基本交互

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

  • SPA + API 编写
  • 水疗 + 接口代码

桌面应用

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

  • 桌面应用撰写
  • 桌面示例 1 - 环回
  • 桌面示例 2 - 专用 URI 方案

最新更新