通过


安全和标识

本文提供了与涉及Windows应用中安全和标识的方案相关的开发功能的索引。

Windows OS 功能

Windows提供了与应用的安全和标识方案相关的各种 API。 这些功能可通过由 Windows SDK0 提供的 Windows 应用 SDK、Windows 运行时(WinRT)和 Win32(C++ 和 COM)API 组合使用。

Windows 应用 SDK API

Windows 应用 SDK提供与 OAuth 2.0 授权流相关的 API。 在 Microsoft.Windows.Security.AccessControl 命名空间中,也有一些辅助 API。 这些 API 与打包应用和 Win32 应用程序之间的命名对象共享相关。

文章 说明
在 Windows 应用中实现 OAuth 2.0 功能 Windows 应用 SDK中的新 OAuth2Manager 使 WinUI 等桌面应用程序能够在 Windows 应用中无缝执行 OAuth 2.0 身份验证。 本文介绍如何使用 Windows 应用 SDK实现 OAuth 2.0。

使用 Microsoft 登录(MSAL.NET + Web 帐户经理)

对于需要用户使用 Microsoft 账户或 Microsoft Entra ID(工作/学校)账户登录的应用程序,建议使用 MSAL.NETWeb 账户管理器(WAM)代理。 WAM 提供无提示 SSO,使用已登录 Windows 的帐户,支持 Windows Hello,以及设备绑定刷新令牌,而无需启动浏览器。

文章 说明
使用 Web 帐户管理器(WAM)获取令牌 了解如何使用 MSAL.NET 与 WAM 代理配合,在包含 WPF、WinForms 和 WinUI 3 的桌面应用程序中,为 Microsoft 和 Microsoft Entra ID 账户获取令牌。
MSAL.NET 概述 .NET Microsoft 身份验证库概述 - 建议的库,用于在桌面应用中使用Microsoft标识进行身份验证。
在 Microsoft Identity 平台上注册应用程序 如何在 Azure 门户中注册应用,以获取使用 MSAL 之前所需的客户端 ID。
Web 帐户经理(WinRT API) 构成 WAM 的基础 WinRT API(Windows.Security.Authentication.Web.Core)。 如果需要在不使用 MSAL.NET 的情况下进行低级令牌中转站访问,请参考此项。
检索窗口句柄 (HWND) Web 帐户管理器需要应用程序的窗口句柄(HWND)来显示身份验证界面。 本文介绍如何在 WPF、WinForms 和 WinUI 3 中检索它。

注释

Web 帐户管理器仅支持Microsoft帐户和Microsoft Entra ID帐户。 如果需要使用第三方标识提供者(Google、GitHub 等)或 Azure AD B2C 进行身份验证,请改用 OAuth2Manager 或其他常规用途 OAuth 2.0 库。

WinRT API

以下文章提供有关通过 Windows SDK 提供的 WinRT API 提供的功能的信息。

文章 说明
安全性 了解Windows应用的安全功能的广度。
身份验证和用户身份 Windows应用有多种用户身份验证选项,从使用 Web 身份验证代理的简单单一登录(SSO)到高度安全的双因素身份验证。
凭据保险箱 本文介绍了Windows应用如何使用凭据保险箱安全地存储和检索用户凭据,并通过用户的Microsoft帐户在设备之间同步这些凭据。
加密 了解可用于Windows应用的加密功能。
指纹生物识别 本文介绍如何将指纹生物识别添加到Windows应用,包括当用户必须同意特定操作时对指纹身份验证的请求会增加应用的安全性。
在应用之间共享证书 本文介绍如何使用同一证书对多个Windows应用进行身份验证,以及如何为用户提供导入用于访问受保护 Web 服务的证书的方法。
智能卡 本主题说明打包Windows应用如何使用智能卡将用户连接到安全网络服务。
Windows Hello 本文介绍Windows Hello技术,并讨论开发人员如何实现此技术来保护其应用和后端服务。 它重点介绍了Windows Hello的特定功能,这些功能可帮助缓解传统凭据的威胁,并提供有关在打包Windows应用中设计和部署这些技术的指导。
创建Windows Hello登录应用 有关如何创建打包Windows应用的完整演练的第 1 部分,该应用使用Windows Hello作为传统用户名和密码身份验证系统的替代方法。
创建 Microsoft Passport 登录服务 有关如何在打包Windows应用中使用 Windows Hello 作为传统用户名和密码身份验证系统的替代方法的完整演练的第 2 部分。

Win32(C++ 和 COM)API

以下文章提供有关 Windows SDK 提供的 Win32(C++ 和 COM)API 提供的功能的信息。

文章 说明
安全和标识 了解通过 Win32 API Windows应用可用的安全功能范围。
身份验证 了解可通过 Win32 API 获得的身份验证功能。
加密 了解可通过 Win32 API 获得的加密功能。

.NET功能

.NET SDK 还提供与WPF和Windows 窗体应用的安全和标识方案相关的 API。 .NET中的安全和加密 API 也可以在 C# WinUI 3 应用中使用。

文章 说明
.NET 中的安全性 了解所有.NET应用的安全概念和功能。
Security (WPF) 了解WPF应用的安全概念和功能。
Windows 窗体安全性 了解Windows 窗体应用的安全概念和功能。

其他功能

以下文章提供有关Windows应用的通行密钥与安全性和标识方案相关的功能的信息。

主题 说明
密钥简介 密钥是一种更简单、更强大的无密码登录方式。
实现密钥 介绍如何跨联机、企业和政府应用程序以及付款实现密钥登录。
密钥的设计准则 密钥有 14 种设计模式。 可以从两种基本模式入手,然后根据您独特的业务需求,在通行密钥部署中添加可选模式。
密钥的用例 本主题介绍密钥的一些用例。
用于密钥的工具和库 本主题包含有关工具和库的信息,可帮助你实现通行密钥。
密钥参考 本主题提供一些参考信息、演示和示例。