有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用java在ejabberd中进行xmpp外部身份验证

我正在研究使用java在ejabberd中实现外部身份验证的任务

我在互联网上搜索了这些示例,找到了PHP、Perl和Python中的示例,但找不到java中的任何示例

我知道需要在ejabberd中进行的配置。cfg文件

java中的任何代码示例都将非常有用


共 (1) 个答案

  1. # 1 楼答案

    试试这个:

    public static void main(String[] args) {
        try {
    
            outerloop: while (true) {
                byte[] lB = new byte[2];
    
                int startPos = 0;
    
                while (startPos < lB.length) {
    
                    int ret = System.in.read(lB, startPos,
                            (lB.length - startPos));
    
                    if (ret < 0) {
    
                        break outerloop;
                    }
                    startPos += ret;
                }
    
                int streamLen = System.in.available();
    
                byte[] rd = new byte[streamLen];
    
                startPos = 0;
    
                while (startPos < streamLen) {
    
                    int ret = System.in.read(rd, startPos,
                            (streamLen - startPos));
                    if (ret < 0) {
    
                        break outerloop;
                    }
                    startPos += ret;
                }
    
                String inputArgs = new String(rd, "ASCII");
    
                String[] arguments = inputArgs.split(":");
    
                String userName = arguments[1];
                String password = arguments[3];
                //
                // Here do the authentication
                //
    
                boolean resultOfAuthentication = // Result of Authentication;
    
                byte[] res = new byte[4];
                res[0] = 0;
                res[1] = 2;
                res[2] = 0;
    
                if (resultOfAuthentication) {
                    res[3] = 1;
                } else {
                    res[3] = 0;
                }
                System.out.write(res, 0, res.length);
                System.out.flush();
            }
        } catch (Exception e) {
            System.out.println("ERROR");
    
        }
    
    }