ac# windows 应用程序将权限授予在其数据库中具有特定配置文件的用户。该应用程序不处理用户和密码,而是在 Windows 会话中获取已验证用户的用户名。
他们要求我通过 IAM 服务(例如 Microsoft IAM)对用户进行身份验证。但我有点困惑。这意味着我必须向用户询问用户名和密码并使用 IAM 进行验证?我不想存储在我的数据库密码中。
我不知道如何使用外部 IAM。
ac# windows 应用程序将权限授予在其数据库中具有特定配置文件的用户。该应用程序不处理用户和密码,而是在 Windows 会话中获取已验证用户的用户名。
他们要求我通过 IAM 服务(例如 Microsoft IAM)对用户进行身份验证。但我有点困惑。这意味着我必须向用户询问用户名和密码并使用 IAM 进行验证?我不想存储在我的数据库密码中。
我不知道如何使用外部 IAM。
不,您不需要处理密码。
简而言之,您的应用程序将需要显示一个迷你浏览器窗口(WebControl、WebView 等),其中显示 IAM 提供商的登录屏幕。用户直接向该登录屏幕提供他们的凭据。您的应用程序永远不会接触这些凭据,并且只会在之后接收有效令牌,然后才能从中获取唯一用户 ID、电子邮件地址等信息。
从最好的 IAM 提供商之一 auth0 中查看这个 WPF 教程(免责声明:我与 auth0 没有任何关系)。 https://auth0.com/docs/quickstart/native/wpf-winforms/01-login 您可以注册一个免费试用帐户以快速试用。
旁注:此方法并非完全不会被滥用,因为您的恶意应用程序可能会在用户在 IAM 登录页面中输入其凭证时拦截击键(因为它托管在您的应用程序进程中)。