Регистрация пользователя во внешнем поставщике#

В форме ввода логина и пароля для авторизации через внешнего поставщика может отображаться ссылка на страницу регистрации во внешнем поставщике (Нет аккаунта? Зарегистрироваться). Для того чтобы ссылка не отображалась, функции refine и matchByLogin в процедуре привязки должны быть вызваны без указания параметров для регистрации.

  • refine(cxt, users) вместо refine(cxt, users, regAttrs);

  • matchByLogin(cxt) вместо matchByLogin(cxt, regAttrs).

Пример использования в процедуре:

package com.identityblitz.idp.federation.matching.dynamic;

import java.lang.*;
import java.util.*;
import java.text.*;
import java.time.*;
import java.math.*;
import java.security.*;
import javax.crypto.*;
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import com.identityblitz.idp.federation.*;
import com.identityblitz.idp.federation.matching.*;
import com.identityblitz.idp.flow.common.api.*;
import com.identityblitz.idp.flow.common.model.*;
import com.identityblitz.idp.federation.matching.dynamic.*;
import java.util.function.Consumer;
import java.util.stream.Stream;
import java.util.stream.Collectors;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
import com.identityblitz.idp.extensions.types.JsObject;
import com.identityblitz.idp.federation.matching.*;
import com.identityblitz.idp.flow.common.api.HttpFactory;

public class Esia_1Esia extends MatchingBlock {

  private final Logger logger = LoggerFactory.getLogger("com.identityblitz.idp.federation.matching.dynamic");

  @Override public MatchResult match(MatchingContext ctx, List<MatchingUser> users){
    if (ctx.iteration() == 1) {
      return find(ctx, MatchingFilter.empty().eq("uid", "00000").or().eq("uid", "test@test.ru"));
    } else {
      //return refine(ctx, Collections.singletonList((users.get(0))));
      //return refine(ctx, users);
      return matchByLogin(ctx);
    }
  };

  @Override public Tuple2<JsObj, Set<String>> update(JsObj extAttrs, MatchingUser user, Boolean justMatched, HttpFactory httpFactory){
    return change(JsObj.empty(), Collections.<String>emptySet());
  };
}