我想显示另一个屏幕以请求凭据提供程序中的OTP

时间:2018-07-23 11:46:59

标签: credential-providers

我正在开发2要素身份验证凭据提供程序。我想在用户输入用户名和密码后阻止Windows登录。我希望它在下一个屏幕/图块中给我Edit_Text_Field。我该如何实现? 谁能专门指出凭证提供者中的功能来执行此操作?我正在使用SampleAllControlsCredentialProvider。

1 个答案:

答案 0 :(得分:1)

您可以通过隐藏和显示某些控件来实现技术。我在自己的凭据提供程序中执行相同的操作:

在您的代码通过GetSerialization方法返回控制之前,它可以隐藏用户名/密码字段SetFieldState(..., CPFS_HIDDEN);并显示OTP字段。

不要忘记将输出参数CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr设置为CPGSR_NO_CREDENTIAL_NOT_FINISHED的值。

下一轮可以为您的提供商提供OTP值,并最终返回CPGSR_RETURN_CREDENTIAL_FINISHED