API-запрос на стороне клиента Worklight

Я использовал аутентификацию на основе адаптера и установил userIdentity. Теперь я пытался получить loginname и username, используя WL.Client.getUserName(realm) и WL.Client.getLoginName(realm) API Worklight, но в результате оба вызова API возвращают NULL. Я установил идентификатор пользователя в адаптере, используя приведенный ниже код. Я просто не знаю, как установить username и loginname пользователя, когда аутентификация выполняется на основе аутентификации на основе адаптера. Я могу получить userId сферы с помощью WL.Client.getUserInfo(realm, "userID").

Как установить username и loginname?

var userIdetity={
          userId : "kawin",
          disaplyName : "Kawinesh",
          attributes : {
          foo : "bar"
          }
  };
     WL.Server.setActiveUser(realmname,userIdentity);

person Kawinesh SK    schedule 29.11.2013    source источник


Ответы (2)


Привет, я нашел ответ, мне просто нужно установить объект usrIdentity вместе с парой значений ключа userName и loginName, например

var userIdentity = {
                userId: username,
                displayName: username, 
                attributes: {
                    foo: "bar"
                },
                loginName : username,
                userName : username
        };
person Kawinesh SK    schedule 30.11.2013

Вы можете сохранить настраиваемые атрибуты (как имя пользователя и имя пользователя) при создании удостоверения пользователя, как здесь:

   var userIdetity={
          userId : "kawin",
          displayName : "Kawinesh",
          attributes : {
             username : "your_user",
             loginname : "your_login_name"                 
          }
  };

  WL.Server.setActiveUser("AdapterAuthRealm", userIdentity);

Затем на стороне клиента вы можете получить эти значения, получив объект «атрибуты», как здесь:

var attributes = WL.Client.getUserInfo("AdapterAuthRealm", "attributes");
var username = attributes.username;
var loginname = attributes.loginname;

Надеюсь, это поможет.

person Orlando Rincón    schedule 29.11.2013
comment
Спасибо, но я нашел ответ, который вы пытались сказать, это использовать API WL.Client.getUserInfo (AdapterAuthRealm, атрибуты); но я просил использовать API WL.Client.getUserName (область) и WL.Client.getUserInfo (область, идентификатор пользователя), и я тоже нашел ответ. Но все равно спасибо. - person Kawinesh SK; 30.11.2013