如何将真实设备注册到生产 MobileFirst 7.0 Server 并由其识别?

Posted

技术标签:

【中文标题】如何将真实设备注册到生产 MobileFirst 7.0 Server 并由其识别?【英文标题】:How can a real device be registered to and recognized by the production MobileFirst 7.0 Server? 【发布时间】:2015-06-05 09:32:35 【问题描述】:

我们已经成功地为测试和生产环境配置了一个 MobileFirst 7.0 服务器,并在其上部署了一个应用程序。但是在安装了几个真实设备(iosandroid)之后,我们在worklightconsole中看不到任何设备。

No device registered in this runtime.

那么如何才能识别这些已经安装了应用程序的设备并将其显示在 worklightconsole 设备选项卡中。

【问题讨论】:

您的应用程序是否真正连接到 MFP 服务器?我看到发生这种情况的最常见情况是应用程序从未连接到服务器,因此服务器从未真正意识到该设备(并且它从未出现在“设备”选项卡中)。 @patbarron 是的,这是主要问题。 【参考方案1】:

请看这里:http://engtest01w.francelab.fr.ibm.com:9090/support/knowledgecenter/SSHS8R_7.1.0/com.ibm.worklight.dev.doc/devref/c_the_application_descriptor.html

userIdentityRealms 用于 OAuth 的用户身份域的逗号分隔有序列表 验证。领域应按优先顺序排列。首先 此列表中成功验证的领域被选为用户 身份领域。如果列表为空,或者列表中没有领域 经过身份验证,ID 令牌不包含身份信息。这 元素是可选的,默认值为空列表。

<userIdentityRealms>WASLTPARealm, CustomAuthenticatorRealm</userIdentityRealms>

注意:这个属性是 用于在基于 OAuth 的流程中设置用户身份。对于经典 (pre-V7.0) 流程,请参阅customSecurityTest security test 的文档。

您需要在 application-descriptor.xml 文件中提供您的领域名称,以便应用在“设备”选项卡中列出。

【讨论】:

嗨 Adar,连接到 MF 服务器后,设备会显示在选项卡中,但用户 ID 和朋友姓名为空白(在此处查看:ww1.sinaimg.cn/large/5fd37818jw1eu2dz80kngj21go0octds.jpg),我在用户登录后做了类似的事情var userIdentity = userId: userinfo.userId, loginName:userinfo.loginName, displayName: username, userRoleId:userinfo.roleId, attributes: foo: "bar" ;WL.Server.setActiveUser("SingleStepAuthRealm", userIdentity); 但仍然是空白。【参考方案2】:

这是由于失去与 MF 服务器的连接造成的。

使用以下代码简单检查连接:

function wlCommonInit()
    WL.Client.connect(
        onSuccess: onConnectSuccess,
        onFailure: onConnectFailure
    );



function onConnectSuccess() 
    WL.Logger.debug ("Connecting to MobileFirst Server.");


function onConnectFailure(data)
    WL.SimpleDialog.show("CAN NOT Connecting to MobileFirst Server", "try it again", 
        [
            text : 'Reload',
            handler : WL.Client.reloadApp 
        ,
        
            text: 'Close',
            handler : function() 
        ]);

【讨论】:

以上是关于如何将真实设备注册到生产 MobileFirst 7.0 Server 并由其识别?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有注册 Apple 开发者计划的情况下使用 Xcode 8 在真实设备上运行应用程序?

XML 验证错误 Mobilefirst 应用程序真实性

IBM MobileFirst 8 - 推送通知错误代码:invalid_client

Mobilefirst 平台处理客户端事件

设备令牌在开发中注册良好,但不是生产

如何将“geo fix”命令发送到 Android 的真实设备?