如何在worklight基于适配器的身份验证中使用Web服务验证用户名和密码?

时间:2014-09-12 18:44:42

标签: ibm-mobilefirst worklight-adapters worklight-security

singleStepAuthRealmChallengeHandler.handleChallenge = function(response){
var authRequired = response.responseJSON.authRequired;
user_id=response.responseJSON.loginUser;
if (authRequired == true){
    $("#AppDiv").hide();
    $("#AuthDiv").show();
    $("#AuthPassword").empty();
    $("#AuthInfo").empty();
   if (response.responseJSON.errorMessage){
        $("#AuthInfo").html(response.responseJSON.errorMessage);
   }

} else if (authRequired == false){

$('#AuthSubmitButton').attr('href','home.html');
    $("#AuthSubmitButton").click();
    $("#AuthSubmitButton").click();
    singleStepAuthRealmChallengeHandler.submitSuccess();
}};
$("#AuthSubmitButton").bind('click', function () {
var username = $("#AuthUsername").val();
var password = $("#AuthPassword").val();

var invocationData = {
    adapter : "SingleStepAuthAdapter",
    procedure : "verifyLogin",
    parameters : [ username, password ]
};

var options= {
        onSuccess: success,
        onFailure: failure`enter code here`
};
WL.Client.invokeProcedure(invocationData, options);});
function success(response)
{
var result=JSON.stringify(response);
var invocationData = {
        adapter : "SingleStepAuthAdapter",
        procedure : "submitAuthentication",
        parameters : [ result ]
    };
singleStepAuthRealmChallengeHandler.submitAdapterAuthentication(invocationData, {});}

这种方法是否正确????当用户登录时它无法正常工作,不会重定向到主页。 :-(

这里首先我尝试调用过程从服务器获取用户名密码,并且在成功函数中我调用提交身份验证但是当用户登录时,下次当我访问安全过程时它不会直接重定向到主页而不是它说用户已经登录它假设运行get authrequired = false并转到主页。

我正在使用rest api来获取用户名和密码并传递给submitauthentication函数。

是因为调用两次有问题我无法弄清楚请帮助。

1 个答案:

答案 0 :(得分:0)

我验证了服务器端本身的用户名密码,引用了适配器的Mashup。您可以参考此链接Mashup