我们坚持使用Adobe DPS项目。我们无法让我们的DPS安卓应用程序为我们的打印订阅者执行授权,我们想知道是否有人在那里设法做到了这一点。
我们在这里使用了Adobe的教程: http://www.adobe.com/devnet/digitalpublishingsuite/articles/library-store-combined-template.html,将isEntitlementViewer设置为true。
代码要求输入用户名和密码,然后通过Adobe的API AdobeLibraryAPI.js,它通过我们自己的API对用户进行身份验证。相同的代码在应用程序的iPad版本中100%工作。
实际处理登录的文件(称为LoginDialog.js)在名为clickHandler的函数中包含以下代码(我们添加了一些javascript警报以尝试调试登录过程)
// Login using the authenticationService.
var transaction = adobeDPS.authenticationService.login($username.val(), $password.val());
alert("1: "+transaction.state ); //returns “1: 0”
transaction.completedSignal.addOnce(function(transaction) {
alert("2: "+transaction.state ); //never returns
var transactionStates = adobeDPS.transactionManager.transactionStates;
if (transaction.state == transactionStates.FAILED) {
$("#login .error").html("Authentication Failed.")
} else if (transaction.state == transactionStates.FINISHED){
this.$el.trigger("loginSuccess");
this.close();
}
alert("3: "+transaction.state ); //never returns
}, this);
alert("4: "+transaction.error ); //never returns
有没有DPS / android / Entitlement经验的人?
答案 0 :(得分:0)
Android Entitlement仅在向Adobe注册集成商ID 后才能运行,因为只有通过集成商ID配置了android查看器服务路由。 如果您没有集成商ID,则需要从Adobe支持部门获取一个。
另外值得一提的是,与iOS相反,Android DPS查看器仅支持一个用于身份验证和权利的基本路由/ URL。
例如,在iOS中,您可以通过第一个URL完成登录:
权利的第二个URL可以位于不同的URL上:
在android中,两个URL都必须相同,例如:
https://example.com/api/v1/SignInWithCredentials和 https://example.com/api/v1/entitlements