2013-03-13 2 views
0

Я ищу способ программно установить учетные данные HTTP-адаптера? Есть ли у кого-нибудь пример?Программно изменить учетные данные в адаптере рабочего фона

Возможно ли изменить реализацию адаптера js для перезаписывания учетных данных?

что-то вроде:

function getMyAdapters(path) { 

var tok = "myuser:mypw"; 
var hash = Base64Encoder.encode(tok); 
var headers="{'User-Agent':'Mozilla'"+"Authentication: Basic }"+hash; 
var input = { 
     method : 'get', 
     returnedContentType : 'json', 
     headers: headers, 
     path : path 
    }; 


return WL.Server.invokeHttp(input); 
} 

Но это не удалось, поскольку он не нашел Base64Encoder.

Любая идея?

ответ

0

Во-первых, вы должны использовать «Авторизация» и не «Аутентификация», как описано здесь: http://en.wikipedia.org/wiki/Basic_access_authentication

Кроме того, вы должны сделать следующее:

Создание класса Java, что-то вроде этого (вы» должен будет чистить и регулировать его, конечно):

public class Idan { 
     public String basicHash(String user, String password) { 
      BASE64Encoder base64Encoder = new BASE64Encoder(); 
      String authorization = user + ":" + password; 
      return base64Encoder.encode(authorization.getBytes()); 
     } 

     // to test: 
     public static void main(String[] args) { 
     Idan i = new Idan(); 
     System.out.println(i.basicHash("idan", "somepassword")); 
    } 
} 

в .js файла адаптера, объявить глобально:

var idan = new org.Idan(); 

И процедура:

function test(){ 
WL.Logger.debug(idan.basicHash("username_test", "secret_password")); 

}

+0

Спасибо вам, что помогли мне понять мою ошибку ;-) – ITDoVe

+0

рад, что я мог бы помочь. Пожалуйста, отметьте этот вопрос как «Ответ». –

+0

Наконец, я внедрил метод http://stackoverflow.com/questions/15432608/change-http-url-in-worklight-adapter, который позволяет мне также предоставлять URL-адрес API RESTFul. – ITDoVe

 Смежные вопросы

  • Нет связанных вопросов^_^