Files
matrix-authentication-service/docs/topics/access-token.md
T
2025-09-03 14:34:26 +00:00

32 lines
1.2 KiB
Markdown

# Get an access token
The [Matrix Authentication Service repository contains a simple shell script](https://github.com/element-hq/matrix-authentication-service/blob/main/misc/device-code-grant.sh) to interactively get an access token with arbitrary scopes.
It requires `sh`, `jq` and `curl` to be installed.
This can be run from anywhere, not necessarily from the host where MAS is running.
```sh
sh ./misc/device-code-grant.sh [synapse-url] <scope>...
```
This will prompt you to open a URL in your browser, finish the authentication flow, and print the access and refresh tokens.
This can be used to get access to the MAS admin API:
```sh
sh ./misc/device-code-grant.sh https://synapse.example.com/ urn:mas:admin
```
Or to the Synapse admin API:
```sh
sh ./misc/device-code-grant.sh https://synapse.example.com/ urn:matrix:org.matrix.msc2967.client:api:* urn:synapse:admin:*
```
Or even both at the same time:
```sh
sh ./misc/device-code-grant.sh https://synapse.example.com/ urn:matrix:org.matrix.msc2967.client:api:* urn:mas:admin urn:synapse:admin:*
```
Note that the token will only be valid for a short time (5 minutes by default) and needs to be revoked manually from the MAS user interface.