You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Alike Service-Provider initiated logon, with Idp-initiated logon users land to RabbitMQ management ui with a valid token.
139
+
These two scenarios below are examples of Idp-initiated logon:
140
140
141
-
When RabbitMQ is offered as a service from a web portal, it is more convenient to navigate to RabbitMQ Management UI with a single click. The web portal is responsible for getting a token before taking the user to the RabbitMQ Management UI web page.
141
+
* RabbitMQ is behind a web portal which conveniently allow users to navigate directly to RabbitMQ fully authenticated
142
+
* There is an OAuth2 proxy in between users and RabbitMQ which intercepts their requests and forwards them to RabbitMQ injecting the token into the HTTP `Authorization` header
143
+
144
+
The latter scenario is demonstrated [here](oauth2-examples-proxy.html). The former scenario is covered in the following section.
145
+
146
+
#### Idp-initiated logon via the login endpoint
147
+
148
+
A web portal offers their authenticated users, the option to navigate to RabbitMQ by submitting a form with their OAuth token in `access_token` form field as it is illustrated below:
At step 1, `rabbit_admin` user navigates to the web portal and clicks on the hyperlink associated to a RabbitMQ cluster. At step 2, the web portal obtains a token and redirects the user to RabbitMQ's `/login` url with the token within the form field `access_token`. And at step 3, RabbitMQ validates the token in the http request and if it is valid, it redirects the user to the overview page.
157
+
If the access token is valid, RabbitMQ redirects the user to the overview page.
151
158
152
-
By default, RabbitMQ Management UI is configured with service-provider initiated logon. You have to configure the Management plugin by adding just one entry to the configuration as shown below:
159
+
By default, the RabbitMQ Management UI is configured with **service-provider initiated logon**, to configure **Identity-Provider initiated logon**,
160
+
add one entry to `advanced.config`. For example:
153
161
154
162
```
155
163
...
@@ -161,7 +169,10 @@ By default, RabbitMQ Management UI is configured with service-provider initiated
161
169
]},
162
170
```
163
171
164
-
**NOTE**: When the user logs out, or its RabbitMQ session expired, or the token expired, the user is directed to the Management landing page which presents the user with a button labeled `Click here to login`. The user is never redirected automatically back to the url configured in `oauth_provider_url`. Only when the user clicks on the `logout` button, it is redirected to the configured in `oauth_provider_url`.
172
+
**Important**: when the user logs out, or its RabbitMQ session expired, or the token expired, the user is directed to the
173
+
RabbitMQ Management landing page which has a **Click here to login** button.
174
+
The user is never automatically redirected back to the url configured in the `oauth_provider_url`.
175
+
It is only when the user clicks **Click here to login** , the user is redirected to the configured url in `oauth_provider_url`.
165
176
166
177
## Access other protocols using OAuth 2.0 tokens
167
178
@@ -343,7 +354,7 @@ make start-amqp1_0-publisher
343
354
This section has been dedicated exclusively to explain what scopes you need in order to operate on **Topic Exchanges**.
344
355
345
356
**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 used a hand-crafted token with the scopes to operate on **Topic Exchanges**.
357
+
appropriate scopes to operate on **Topic Exchanges**. In the [MQTT Protocol](#mqtt-protocol) section, the application used a hand-crafted token with the scopes to operate on **Topic Exchanges**.
347
358
348
359
To bind and/or unbind a queue to/from a **Topic Exchange**, you need to have the following scopes:
0 commit comments