java - 使用 Jetty Websocket 客户端进行摘要式身份验证

标签 java authentication jetty client

我想编写一个 Java Websocket 客户端,它需要摘要身份验证才能在服务器上进行身份验证。

我玩弄了 Jetty Websocket client example但我不知道如何轻松添加摘要身份验证。此外,我没有找到任何在线资源来提示如何完成此操作。

我还发现在网上查找信息非常困难,因为大多数人使用 Jetty 作为服务器(显然)。例如,这不是重复的:How to authenticate websocket client in jetty?

因此我想知道是否可以在 Jetty Websocket 客户端中使用摘要身份验证?

最佳答案

您可以尝试这两种方法:

  1. 将您的用户名和密码放入 websocket url 中。
    例如。 ws://用户名:密码@www.example.com/resturl

  2. 生成授权并将其放入请求 header 。

    String userpass = accessKey + ":" + secretKey;
    
    String authorization = "Basic " + new String(new Base64().encode(userpass.getBytes())).trim();
    
    ClientUpgradeRequest request = new ClientUpgradeRequest();
    
    request.setHeader("Authorization", authorization);
    

关于java - 使用 Jetty Websocket 客户端进行摘要式身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39611017/

相关文章:

java - 如何从java中的一维数组中删除元素及其索引?

c# - 在 C# 中获取数据库访问级别

java - 如何在没有主 list 属性的情况下执行 jar?

java - 当用户尝试通过 HTTP 连接时发回 HTTP 响应而不是堆栈跟踪

java - Appium/Selenium - 断言声明为字段的元素不显示

java xml 检索命名参数

java - 如何制作具有不可选择的预设选项的 JOptionPane 下拉列表?

angular - 如何获取和更新用户属性 AWS amplify angular 6

windows - 如何自定义 Windows Vista 和 7 的登录屏幕?

java - 自动化 API 稳定性测试