Box enterprise and JWT expiry

What is the problem you are having with rclone?

Hello !

I am using the Box remote with an enterprise account.
To authenticate i use a config.json file with the client id, secret, the enterprise id and the private keys.
Authentication works fine and i can list files and directories.

I have a problem when i reach JWT token expiry: token expired and there's no refresh token - manually refresh with "rclone config reconnect box:
According to Box documentation, Enterprise JWT auth does not provide a refresh token and should just request a new one. Token only lasts 1h.

Do you know if it's a bug or if i'm missing something ?
How can i deal with it ?

The problem is that i have a lot of files and my sync lasts more than an hour. Furthermore, I am syncing files to a Shared Gdrive which is very g, so i can't just restart the sync without creating duplicates.

Thanks you for your help
Best regards.

Run the command 'rclone version' and share the full output of the command.

rclone 1.62.2
- os/version: nixos 22.11 (Raccoon) (64 bit)
- os/kernel: 6.2.0 (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.20.2
- go/linking: dynamic
- go/tags: cmount

Which cloud storage system are you using? (eg Google Drive)

Box

The command you were trying to run (eg rclone copy /tmp remote:tmp)

sync 'box:/Folder' 'gdrive:/' --config=rclone.conf --use-json-log --log-format=\"date,time,longfile\" -vvv--tpslimit 10 --tpslimit-burst 10 --retries 5 --retries-sleep 1s --create-empty-src-dirs --fast-list --header="as-user: 1234567"

The rclone config contents with secrets removed.

[b1]
type = box
client_id = XXXXXX
client_secret = YYYYYY
box_config_file = box_config.json
box_sub_type = enterprise

Then the config gets amended with a token:

{"access_token":"XXXXXXXXXXXXXX","token_type":"bearer","expiry":"2023-03-17T10:13:06.01480543+01:00"}

A log from the command with the -vv flag

023/03/17 09:20:20 github.com/rclone/rclone/cmd/cmd.go:336: Failed to sync with 80 errors: last error was: failed to open source object: Get "https://ec2euc1.boxcloud.com/d/1/XXXXXXXX/download": token expired and there's no refresh token - manually refresh with "rclone config reconnect box:

I had a brief look at the code.

Rclone should renew the JWT token before it expires.

Maybe this renewal isn't working properly?

Can you do your sync with -vv and grep the logs for the word Token - that should tell us what is happening when the token expires.

Also is the time and timezone correct on your computer?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.