public Optional assignIdentityManager()

in service/src/main/java/org/apache/fineract/cn/provisioner/internal/service/TenantService.java [109:127]


  public Optional<String> assignIdentityManager(
          final String tenantIdentifier,
          final String identityManagerAppName,
          final String identityManagerUri)
  {
    tenantCassandraRepository.adjust(tenantIdentifier, x -> {
      x.setIdentityManagerApplicationName(identityManagerAppName);
      x.setIdentityManagerApplicationUri(identityManagerUri);
    });

    IdentityServiceInitializer.IdentityServiceInitializationResult identityServiceInitializationResult = identityServiceInitializer.initializeIsis(tenantIdentifier, identityManagerAppName, identityManagerUri);
    final ApplicationSignatureSet identityServiceTenantSignatureSet = identityServiceInitializationResult.getSignatureSet();

    try (final AutoTenantContext ignored = new AutoTenantContext(tenantIdentifier)) {
      tenantAuthorizationDataRepository.createSignatureSet(identityServiceTenantSignatureSet.getTimestamp(), identityServiceTenantSignatureSet.getIdentityManagerSignature());
    }

    return identityServiceInitializationResult.getAdminPassword();
  }