如何使用表单身份验证将访问令牌发送到 j_security_check?

How to send a access token into the j_security_check using form authentication?

我正在使用 Jboss 基于表单的身份验证 J_security_check。现在我需要在我的应用程序中使用隐式授权。我想同时使用基于用户的可用身份验证。 (自定义)

我可以在 callbackUri 中获取访问令牌,现在,我希望通过表单将 access_token 发送到 J_security_check。有没有办法将令牌发送到请求 header 并在 j_security_check 中捕获它?

您不能使用正常的 HTML 表单提交来添加 headers。但您可以使用 AJAX 发送自定义 POST 呼叫。

例如使用 jQuery:

$.ajax({
     type: "POST",
     url: "j_security_check",
     headers: {
            'X-access_token': 'value1'
        },
     data: { j_username: "John", j_password: "Boston" }
    })

在服务器端,通常有一个 Servlet 过滤器或 JAX-RS ContainerRequestFilter 或其他拦截访问令牌并将其转换为您的安全配置可以处理的内容的拦截器。

参见例如http://www.mastertheboss.com/jboss-frameworks/keycloak/keycloak-oauth2-example-with-rest-application