通过Google API在两步验证中注册新用户

时间:2016-05-24 13:45:58

标签: c# authentication google-api google-oauth google-directory-api

我们正在使用Google API创建新的Google帐户(用户及其电子邮件)。

新要求是我们应该支持在admin.google.com中启用两步验证(针对子组织),我们需要强制执行规则。

现在出现问题:如果我们在此子组织中创建新用户,它将尝试强制执行2步验证,并且由于未设置,用户将无法登录进行设置。管理员无法为用户设置两步验证。

更多......我需要能够通过API设置用户两步验证。

是否存在解决方法,或者有人知道该怎么做?

欢迎任何建议, 感谢

更新1

感谢Jay Lee的回答,我正在使用Google.Apis.Admin.Directory.directory_v1 SDK

使用C#代码进行扩展。
    private string GenerateVerificationCode(string userKey)
    {

        var _service = new DirectoryService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = _applicationName,
        });
        var generateVerificationCodesRequest = _service.VerificationCodes.Generate(userKey);
        generateVerificationCodesRequest.Execute();
        var verificationCodesRequest = _service.VerificationCodes.List(userKey);
        var verificationCodes = verificationCodesRequest.Execute();
        var verificationCode = verificationCodes.Items[0].VerificationCodeValue;
        return verificationCode;
    }

1 个答案:

答案 0 :(得分:2)

你可以:

  1. 确保在强制使用2SV的OU中创建用户。在致电users.create()
  2. 时设置orgUnitPath属性
  3. 致电VerificationCodes.generate(),让新用户创建备用代码,为用户获取备用2SV代码。
  4. 与新用户共享备份代码及其密码和首次登录和设置2SV的说明。
  5. 用户可以使用备份代码传递2SV进行首次登录。然后他们可以通过短信或应用程序设置正常的2SV。您希望为新用户提供一系列有关此流程的详细说明,因为它会使入职变得复杂,但这意味着他们在第一天就是安全的。