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