javascript - LTPA ChallengeHandler Javascript MFP8

标签 javascript ibm-mobilefirst hybrid-mobile-app ltpa

我正在开发新的平台 MFP8,并且希望在混合应用程序中实现 LTPA 身份验证。在网上搜索时,我发现了 LTPA ChallengeHandler 的 Swift 实现 ( https://github.com/mfpdev/ldap-and-ltpa-sample/tree/master/LTPABasedSample )。但是,如果我尝试在 JS ChallengeHandler 中复制相同的行为,它将不起作用。 下面是我的 ChallengeHandler 实现:

var UserLoginChallengeHandler = function() {
    var isChallenged = false;
    var securityCheckName = 'LTPA';
    var URL;
    var userLoginChallengeHandler = WL.Client.createSecurityCheckChallengeHandler(securityCheckName);

    document.getElementById("login").addEventListener("click", login);

    userLoginChallengeHandler.securityCheckName = securityCheckName;

    userLoginChallengeHandler.handleChallenge = function(challenge) {
        WL.Logger.debug("handleChallenge");
        showLoginDiv();
        isChallenged = true;
        URL = challenge.loginURL;
    };

    userLoginChallengeHandler.handleSuccess = function(data) {
        WL.Logger.debug("handleSuccess");
        isChallenged = false;
        showProtectedDiv();
    };

    userLoginChallengeHandler.handleFailure = function(error) {
        WL.Logger.debug("handleFailure: " + error.failure);
        isChallenged = false;
        if (error.failure !== null){
            alert(error.failure);
        } else {
            alert("Failed to login.");
        }
    };

    function login() {

        var basic = "Basic YWRtaW46YWRtaW4="; //base64 of admin:admin 
        $.ajax({
          type: "POST",
          url: URL,
          headers: {
            "Authorization": basic
          },
          success: function(data, status, xhr){
            console.log(data);
            userLoginChallengeHandler.submitChallengeAnswer({});
          },
          error: function(jqXhr, status, error){
            console.log(error);
          }
        });
    }

    return userLoginChallengeHandler;

};

当我提交简单 war 应用程序的请求时,LTPASecurityCheck 的授权方法中的主体结果为 null。 相反,如果我执行 iOS 示例应用程序,则会评估主体并进行身份验证。

您有办法解决这种奇怪的行为吗?

非常感谢, 斯特凡诺

最佳答案

我认为 Swift 示例不是发送 POST 请求而是 GET。您是否尝试过以 GET 方式发送?

关于javascript - LTPA ChallengeHandler Javascript MFP8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41698688/

相关文章:

javascript - ajax成功后删除最近的li

javascript - Highlight.js 与 Blogger : can't disable auto line wrap

javascript - 为什么下面的按钮 switch case javascript 不起作用?

php - Ionic/Angular $http.get 返回预检响应具有无效的 HTTP 状态代码 404

javascript - 对 Saiku Analytics javascript 文件感到困惑

ios - IOS 的混合事件推送通知似乎尚未在 mobilefirst 7.1 上处理

javascript - FWLSE0013E : Cannot invoke procedure JSONObject cannot be cast to JSONArray

ionic-framework - 如何在 ionic/phone-gap 应用程序中集成 square API

android - Facebook 像素转换(Facebook 广告)未在 Ionic 框架中更新

javascript - 不是函数?