2

我们被一个 Adob​​e DPS 项目困住了。我们无法让我们的 DPS android 应用程序为我们的印刷版订阅者提供权利,我们想知道是否有人设法做到这一点。

我们在这里使用了 Adob​​e 的教程:http: //www.adobe.com/devnet/digitalpublishingsuite/articles/library-store-combined-template.html,isEntitlementViewer设置为 true。

该代码要求输入用户名和密码,然后通过 Adob​​e 的 API Adob​​eLibraryAPI.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 经验的人吗?

4

1 回答 1

0

Android 授权仅在集成商 ID向 Adob​​e 注册后才有效,因为 android 查看器服务路由仅通过集成商 ID 配置。如果您没有集成商 ID,则需要从 Adob​​e 支持获取一个。

另外值得一提的是,与 iOS 不同的是,Android DPS 查看器仅支持一个基本的 Route/URL 用于身份验证和授权。

例如,在 iOS 中,您可以通过第一个 URL 完成登录:

https://example.com/api/v1/SignInWithCredentials

权利的第二个 URL 可以在不同的 URL 上:

http://server2.example.com/v1/api/entitlements

在 android 中,两个 URL 必须相同,例如:

https://example.com/api/v1/SignInWithCredentialshttps://example.com/api/v1/entitlements

于 2015-02-11T13:13:39.450 回答