如何模拟 Worklight 适配器基本身份验证

Posted

技术标签:

【中文标题】如何模拟 Worklight 适配器基本身份验证【英文标题】:How can I mock Worklight adapter basic authentication 【发布时间】:2013-11-07 10:09:21 【问题描述】:

我正在尝试在我的 Worklight 项目中实施基本身份验证。

我在适配器 xml 中设置了以下代码。

    <authentication>
        <basic/>
        <serverIdentity>
        <username>admin</username>
        <password>admin</password>
        </serverIdentity>
    </authentication>

我所有的程序都必须有这个基本的身份验证,所以我这样设置我的程序:

    <procedure connectAs="server" name="getClass">
    <displayName>getClass</displayName>
    <description>Retrieves classdetails by id</description>
</procedure>

执行此操作时出现以下错误:

    FWLSE0101E: Caused by:  [project Klappr]java.io.IOException: Unexpected character '<' on line 1, column 1 
                                                                                                           com.worklight.common.log.filters.ErrorFilter

当我不实现它时,我得到一个 401 错误,因为没有给出身份验证对象。

    [11:26:43.403] "Transfer failed, errors = Runtime: Failed to parse JSON string
    Error 401: An Authentication object was not found in the SecurityContext"

我如何才能将其模拟为用户名“admin”,密码“admin”,而不是之前实现整个 Worklight 安全性?

基本认证信息:

    http://pic.dhe.ibm.com/infocenter/wrklight/v5r0m5/index.jsp?topic=/com.ibm.worklight.help.doc/devref/r_the__authentication__element_o.html

【问题讨论】:

【参考方案1】:

适配器用于连接到后端。在 WL 适配器中使用身份验证意味着您的后端需要基本身份验证。

您收到错误消息是因为您指定了 returnedContentType:"json" 并且您的后端返回 XML/HTML。将returnedContentType 设置为“plain”以查看您的后端响应。

【讨论】:

后端设置为基本认证,调用成功后返回JSON。我需要修复错误“Klappr]java.io.IOException: Unexpected character '

以上是关于如何模拟 Worklight 适配器基本身份验证的主要内容,如果未能解决你的问题,请参考以下文章

使用基于 Worklight 适配器的身份验证时如何获取正在注销的用户的 userIdentity

需要 Worklight 适配器身份验证

使用适配器身份验证的 Worklight 推送通知不起作用

IBM Worklight:基于适配器的身份验证成功后未获得响应

worklight http 适配器和 NTLM 身份验证

删除 Worklight Adapter 中的 Cookie:多个会话使用基于相同适配器的身份验证