我正在使用带有Scala的Play框架来构建RESTful API。为了实现身份验证,我使用了play-silhouette
插件和BearerTokenAuthenticator
。它工作得很好。
问题是,我必须实现一个使用WebSocket来推送实时更新的服务,但我无法为这种方法设置用户身份验证。
Silhouette提供了这样做的支持(doc(,问题是我找不到将令牌放在websocket握手请求的头中的方法。我做了很多研究,但没有任何结果。
我想我可以在查询字符串中传递令牌,而不是在请求头中传递。
我的问题是,如何使用剪影手动验证令牌?
这目前是不可能的。我创建了一个问题,在请求提取器的帮助下解决了这个问题。
同时,您可以覆盖BearerTokenAuthenticatorService
的检索方法,并使用查询字符串中的值而不是标头。