diff --git a/src/commands/auth.sh b/src/commands/auth.sh index b387cf7..d961b29 100644 --- a/src/commands/auth.sh +++ b/src/commands/auth.sh @@ -76,18 +76,17 @@ function atfile.auth() { # TODO: Handle accessJwt expiry if [[ -n "$error" ]]; then - #if [[ $error == "[InvalidToken] Token could not be verified" ]]; then - # session="$(com.atproto.server.refreshSession)" - # error="$(atfile.util.get_xrpc_error $? "$session")" - # - # if [[ -n $error ]]; then - # atfile.cache.del "token" - # atfile.die.xrpc_error "Unable to refresh token" "$error" - # fi - #else - # atfile.die.xrpc_error "Unable to authenticate" "$error" - #fi - atfile.die.xrpc_error "Unable to authenticate" "$error" + if [[ $error == "[ExpiredToken]"* ]];then + session="$(com.atproto.server.refreshSession)" + error="$(atfile.util.get_xrpc_error $? "$session")" + + if [[ -n $error ]]; then + atfile.cache.del "token" + atfile.die.xrpc_error "Unable to refresh session" "$error" + fi + else + atfile.die.xrpc_error "Unable to authenticate" "$error" + fi else _username="$(echo "$session" | jq -r ".did")" fi diff --git a/src/lexi/com_atproto.sh b/src/lexi/com_atproto.sh index c67e678..7a1ed23 100644 --- a/src/lexi/com_atproto.sh +++ b/src/lexi/com_atproto.sh @@ -77,7 +77,7 @@ function com.atproto.sync.listBlobs() { function com.atproto.server.refreshSession() { refresh_token="$(atfile.util.get_token_cache "refresh")" - atfile.xrpc.pds.get "com.atproto.server.refreshSession" "" "" "Bearer $refresh_token" + atfile.xrpc.pds.post "com.atproto.server.refreshSession" "" "" "Bearer $refresh_token" } function com.atproto.sync.uploadBlob() {