gpt4 book ai didi

javascript - Adobe DPS Web 查看器身份验证

转载 作者:行者123 更新时间:2023-11-30 05:33:40 24 4
gpt4 key购买 nike

我正在尝试使用 Adob​​e 的 Digital Publishing Suite Web 查看器。 我已经正确设置了我的 Web 查看器 - 它在我的网站中运行。但是,它并不验证每个用户都有权访问 Web 查看器正在访问的作品集。 Adobe 有一种 documentation关于如何做到这一点,但他们的文件似乎缺乏。似乎 Adob​​e 要我获取 Adob​​e 用户的用户名和密码 - 但这是不对的。我怀疑 Adob​​e 会邀请网络钓鱼。但这不是我迷失的唯一一点。

我现在的脚本如下:

    var wvQueryParamGroups = location.search.match(/[?&^#]wv=(s[\/%\-.\w]+)/),
wvQueryParam = wvQueryParamGroups && wvQueryParamGroups.length === 2 ? decodeURIComponent(wvQueryParamGroups[1]) : null;

function loadXMLDoc(url, successCallback, failCallback) {
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlhttp.responseText, "application/xml");
successCallback(xmlDoc);
} else if (xmlhttp.readyState == 4 && xmlhttp.status == 0) {
alert("unsuccessful cross-domain data access attempt?");
failCallback(xmlhttp.status);
} else if (xmlhttp.readyState == 4) {
failCallback(xmlhttp.status);
} else {
console.log('readystate=' + xmlhttp.readyState + ', status=' + xmlhttp.status);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}

function directEntitlementSignIn(directEntitlementURL, emailAddress, password, appID, authTokenSuccess, authTokenFail) {
var response;
if (!authTokenSuccess || !authTokenFail) {
throw new Error('Callbacks are required: ');
}
loadXMLDoc(directEntitlementURL + '?emailAddress=' + emailAddress + '&password=' + password + '&appId=' + appID,
handleToken = function (data) {
token = data.documentElement.childNodes[0].innerHTML;
authTokenSuccess(token);
}
);
}

function onAuthTokenSuccess(token) {
alert(token);
// pass the token into the Authenticator class's login method
}

function onAuthTokenFail(status) {
alert("fail: " + status);
// prompt the user to try logging in again
}

function signIn(emailAddress, password) {
var deAPIURL = 'http://127.0.0.1/hostDemos r27/authHard/test.php';
var emailAddress; // user's login ID.....get from form
var password; // user's password ... get from form
var appID = 'com.publisher.magazine';

directEntitlementSignIn(deAPIURL, emailAddress, password, appID, onAuthTokenSuccess, onAuthTokenFail);
}

function eventCallback(ev) {
if (ev.eventType == "paywall") {
return false;
}
if (ev.eventType == "metadata") {
return true;
}
console.log(ev);
return true;
}

function errorCallback (message) {
console.log(message);
return true;
}

function redirectCallbackHandler (message) {
console.log(message);
}

var wv_appName = "Professional Roofing";
var wv_accountID = Account_ID_Is_Here; //Hiding account ID purposely
var wv_folio = "August 2014 Issue";
var wv_article = "Cover";
var wv_url = '/s/' + wv_appName + '/' + wv_accountID + '/' + wv_folio + '/' + wv_article + '.html';
console.log(wv_url);

var bridge = adobeDPS.frameService.createFrame({
boolIsFullScreen : true,
parentDiv : 'mainContainer',
wrapperClasses : 'uniqueFrame',
iframeID : 'demoFrame',
accountIDs : wv_accountID,
wvParam : wvQueryParam ? wvQueryParam : wv_url,
curtainClasses : 'mask hidden',
eventCallback : eventCallback,
errorCallback : errorCallback,
redirectCallback : redirectCallbackHandler
});

最佳答案

Adobe 不需要您的用户名和密码,他们需要身份验证 token 。要使其正常工作,您需要:

  • 实现直接权利 API
  • 请您在 Adob​​e 的客户代表创建一个集成商 ID

之后你需要创建一个认证器:

  auth = adobeDPS.authenticationService.createAuthenticator(strAccountID, strIntegratorID);

并将 authToken 传递给它

 auth.login(token, successCalck, errorCallback)

关于javascript - Adobe DPS Web 查看器身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25312060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com