Extract recurring asciidoc links to attributes, cleanup old doc files
This commit extract spring-related links and recurring external links into asciidoctor attributes to be used by the Antora toolchain. It notably homogenizes links to: - IETF RFCs - Java Community Process JSRs - the Java API Documentation (on the Java 17 version) - Kotlin documentations (on the Kotlinlang.org version) - the Spring Boot reference guide (on the `html` version) This commit also reworks most link attributes to follow a Project-Category-Misc syntax. For example, `spring-boot-docs` rather than `docs-spring-boot`. Finally, it makes an effort to clean up remainders from the previous documentation toolchain, namely the `docs/asciidoc` folder and `modules/ROOT/pages/attributes.adoc` file. Closes gh-26864 Closes gh-31619
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
[[websocket-stomp-authentication-token-based]]
|
||||
= Token Authentication
|
||||
|
||||
https://github.com/spring-projects/spring-security-oauth[Spring Security OAuth]
|
||||
{spring-github-org}/spring-security-oauth[Spring Security OAuth]
|
||||
provides support for token based security, including JSON Web Token (JWT).
|
||||
You can use this as the authentication mechanism in Web applications,
|
||||
including STOMP over WebSocket interactions, as described in the previous
|
||||
@@ -11,13 +11,13 @@ At the same time, cookie-based sessions are not always the best fit (for example
|
||||
in applications that do not maintain a server-side session or in
|
||||
mobile applications where it is common to use headers for authentication).
|
||||
|
||||
The https://tools.ietf.org/html/rfc6455#section-10.5[WebSocket protocol, RFC 6455]
|
||||
The {rfc-site}/rfc6455#section-10.5[WebSocket protocol, RFC 6455]
|
||||
"doesn't prescribe any particular way that servers can authenticate clients during
|
||||
the WebSocket handshake." In practice, however, browser clients can use only standard
|
||||
authentication headers (that is, basic HTTP authentication) or cookies and cannot (for example)
|
||||
provide custom headers. Likewise, the SockJS JavaScript client does not provide
|
||||
a way to send HTTP headers with SockJS transport requests. See
|
||||
https://github.com/sockjs/sockjs-client/issues/196[sockjs-client issue 196].
|
||||
{sockjs-client}/issues/196[sockjs-client issue 196].
|
||||
Instead, it does allow sending query parameters that you can use to send a token,
|
||||
but that has its own drawbacks (for example, the token may be inadvertently
|
||||
logged with the URL in server logs).
|
||||
|
||||
@@ -6,7 +6,7 @@ Spring Security provides
|
||||
{docs-spring-security}/servlet/integrations/websocket.html#websocket-authorization[WebSocket sub-protocol authorization]
|
||||
that uses a `ChannelInterceptor` to authorize messages based on the user header in them.
|
||||
Also, Spring Session provides
|
||||
https://docs.spring.io/spring-session/reference/web-socket.html[WebSocket integration]
|
||||
{docs-spring-session}/web-socket.html[WebSocket integration]
|
||||
that ensures the user's HTTP session does not expire while the WebSocket session is still active.
|
||||
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ and xref:web/websocket/stomp/authentication.adoc[Authentication] for more inform
|
||||
|
||||
For more example code see:
|
||||
|
||||
* https://spring.io/guides/gs/messaging-stomp-websocket/[Using WebSocket to build an
|
||||
* {spring-site-guides}/gs/messaging-stomp-websocket/[Using WebSocket to build an
|
||||
interactive web application] -- a getting started guide.
|
||||
* https://github.com/rstoyanchev/spring-websocket-portfolio[Stock Portfolio] -- a sample
|
||||
application.
|
||||
|
||||
@@ -59,7 +59,7 @@ The following example shows the XML configuration equivalent of the preceding ex
|
||||
----
|
||||
|
||||
The STOMP broker relay in the preceding configuration is a Spring
|
||||
{api-spring-framework}/messaging/MessageHandler.html[`MessageHandler`]
|
||||
{spring-framework-api}/messaging/MessageHandler.html[`MessageHandler`]
|
||||
that handles messages by forwarding them to an external message broker.
|
||||
To do so, it establishes TCP connections to the broker, forwards all messages to it,
|
||||
and then forwards all messages received from the broker to clients through their
|
||||
|
||||
@@ -7,18 +7,18 @@ connected clients. This section describes the flow of messages on the server sid
|
||||
The `spring-messaging` module contains foundational support for messaging applications
|
||||
that originated in https://spring.io/spring-integration[Spring Integration] and was
|
||||
later extracted and incorporated into the Spring Framework for broader use across many
|
||||
https://spring.io/projects[Spring projects] and application scenarios.
|
||||
{spring-site-projects}[Spring projects] and application scenarios.
|
||||
The following list briefly describes a few of the available messaging abstractions:
|
||||
|
||||
* {api-spring-framework}/messaging/Message.html[Message]:
|
||||
* {spring-framework-api}/messaging/Message.html[Message]:
|
||||
Simple representation for a message, including headers and payload.
|
||||
* {api-spring-framework}/messaging/MessageHandler.html[MessageHandler]:
|
||||
* {spring-framework-api}/messaging/MessageHandler.html[MessageHandler]:
|
||||
Contract for handling a message.
|
||||
* {api-spring-framework}/messaging/MessageChannel.html[MessageChannel]:
|
||||
* {spring-framework-api}/messaging/MessageChannel.html[MessageChannel]:
|
||||
Contract for sending a message that enables loose coupling between producers and consumers.
|
||||
* {api-spring-framework}/messaging/SubscribableChannel.html[SubscribableChannel]:
|
||||
* {spring-framework-api}/messaging/SubscribableChannel.html[SubscribableChannel]:
|
||||
`MessageChannel` with `MessageHandler` subscribers.
|
||||
* {api-spring-framework}/messaging/support/ExecutorSubscribableChannel.html[ExecutorSubscribableChannel]:
|
||||
* {spring-framework-api}/messaging/support/ExecutorSubscribableChannel.html[ExecutorSubscribableChannel]:
|
||||
`SubscribableChannel` that uses an `Executor` for delivering messages.
|
||||
|
||||
Both the Java configuration (that is, `@EnableWebSocketMessageBroker`) and the XML namespace configuration
|
||||
|
||||
Reference in New Issue
Block a user