Play2 Framework - Scala - 手动剪影检查令牌

Play2 Framework - Scala - Silhouette check token manually

我正在使用 Play Framework 和 Scala 构建 RESTful API。为了实现身份验证,我使用了 play-silhouette 插件,并使用了 BearerTokenAuthenticator。它完美运行。

问题是我必须实现一个使用 WebSocket 推送 real-time 更新的服务,但我无法为此方法设置用户身份验证。

Silhouette 提供支持(doc),问题是我找不到将令牌放入 websocket 握手请求的 header 的方法。我做了很多研究,但没有任何结果。

我认为我可以在查询字符串中传递令牌,而不是在请求中传递它 header。

我的问题是,如何使用 silhouette 手动验证令牌?

这目前是不可能的。我创建了一个 issue to fix this with the help of a request extractor.

与此同时,您可以覆盖 BearerTokenAuthenticatorServiceretrieve 方法并使用查询字符串中的值而不是 header.