@@ -24,6 +24,7 @@ If you want to understand the details of how to configure RabbitMQ with Oauth2 g
2424 - [JMS protocol](#jms-protocol)
2525 - [MQTT protocol](#mqtt-protocol)
2626 - [AMQP 1.0 protocol](#amqp-10-protocol)
27+ - [ Messaging on Topic Exchanges] ( #messaging-on-topic-exchanges )
2728- Use advanced OAuth 2.0 configuration
2829 - [Use custom scope field](#use-custom-scope-field)
2930 - [Use multiple asymmetrical signing keys](#use-multiple-asymmetrical-signing-keys)
@@ -34,7 +35,7 @@ If you want to understand the details of how to configure RabbitMQ with Oauth2 g
3435 - [KeyCloak](use-cases/keycloak.md)
3536 - [https://auth0.com/](use-cases/auth0.md)
3637 - [Azure Active Directory](use-cases/azure.md)
37-
38+ - [Oauth2 proxy](use-cases/oauth2-proxy.md)
3839- [ Understand the environment] ( #understand-the-environment )
3940 - [RabbitMQ server](#rabbitmq-server)
4041 - [UAA server](#uaa-server)
@@ -337,6 +338,26 @@ And send a message. It uses the *client_id* `jms_producer`, declared in UAA, to
337338make start-amqp1_0-publisher
338339```
339340
341+ ## Messaging on Topic Exchanges
342+
343+ This section has been dedicated exclusively to explain what scopes you need in order to operate on ** Topic Exchanges** .
344+
345+ ** NOTE** : None of the users and/or clients declared in any of Authorization servers provided by this tutorial have the
346+ appropriate scopes to operate on ** Topic Exchanges** . In the [ MQTT Protocol] ( #mqtt-protocol ) section, the application
347+ used a hand-crafted token with the scopes to operate on ** Topic Exchanges** .
348+
349+ To bind and/or unbind a queue to/from a ** Topic Exchange** , you need to have the following scopes:
350+
351+ - ** write** permission on the queue and routing key -> ` rabbitmq.write:<vhost>/<queue>/<routingkey> `
352+ > e.g. ` rabbitmq.write:*/*/* `
353+
354+ - ** read** permission on the exchange and routing key -> ` rabbitmq.write:<vhost>/<exchange>/<routingkey> `
355+ > e.g. ` rabbitmq.read:*/*/* `
356+
357+ To publish to a ** Topic Exchange** , you need to have the following scope:
358+
359+ - ** write** permission on the exchange and routing key -> ` rabbitmq.write:<vhost>/<exchange>/<routingkey> `
360+ > e.g. ` rabbitmq.write:*/*/* `
340361
341362
342363## Use advanced OAuth 2.0 configuration
0 commit comments