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
### Requesting Party Token {#requesting-party-token}
724
+
725
+
A **Requesting Party Token (RPT)** is a special OAuth 2.0 **access token**
726
+
issued by an **Authorization Server** in the [User-Managed Access (UMA) 2.0](https://docs.kantarainitiative.org/uma/wg/rec-oauth-uma-grant-2.0.html) framework.
727
+
It is used by a **Requesting Party** (such as an application or user) to access
728
+
a protected resource on a Resource Server like RabbitMQ, after being authorized
729
+
based on a resource owner policies.
730
+
731
+
[Keycloak](./oauth2-examples-keycloak) is one of the Authorization Servers that issues this type of tokens.
732
+
An RPT is typically a JWT with permissions claims under a claim called `authorization`.
733
+
See the example below. The rest of the claims have been removed from the token for
734
+
brevity:
735
+
736
+
```json
737
+
{
738
+
"authorization": {
739
+
"permissions": [
740
+
{
741
+
"scopes": [
742
+
"rabbitmq-resource.read:*/*"
743
+
],
744
+
"rsid": "2c390fe4-02ad-41c7-98a2-cebb8c60ccf1",
745
+
"rsname": "allvhost"
746
+
},
747
+
{
748
+
"scopes": [
749
+
"rabbitmq-resource:vhost1/*"
750
+
],
751
+
"rsid": "e7f12e94-4c34-43d8-b2b1-c516af644cee",
752
+
"rsname": "vhost1"
753
+
},
754
+
{
755
+
"rsid": "12ac3d1c-28c2-4521-8e33-0952eff10bd9",
756
+
"scopes": [
757
+
"rabbitmq-resource.tag:administrator"
758
+
]
759
+
}
760
+
]
761
+
},
762
+
"scope": "email profile",
763
+
}
764
+
```
765
+
766
+
RabbitMQ supports this token format. It reads all the scopes in all the `permissions`
767
+
claims. If the token also contains the standard `scope` claim, RabbitMQ adds it to the
0 commit comments