// Authentication
struct pakfire_client_auth {
+ // Tokens
+ char access_token[1024];
+ char refresh_token[1024];
+
// Timer
sd_event_source* timer;
} auth;
- // Tokens
- char access_token[1024];
- char refresh_token[1024];
-
// Callbacks
struct pakfire_client_auth_callback {
pakfire_client_auth_callback callback;
int r;
// Cannot do this if we don't have a refresh token
- if (!*self->refresh_token)
+ if (!*self->auth.refresh_token)
return -ENOTSUP;
// Create a new transfer
goto ERROR;
// Add the refresh token
- r = pakfire_json_add_string(request, "refresh_token", self->refresh_token);
+ r = pakfire_json_add_string(request, "refresh_token", self->auth.refresh_token);
if (r < 0)
goto ERROR;
}
// Store the new access token
- r = pakfire_string_set(self->access_token, access_token);
+ r = pakfire_string_set(self->auth.access_token, access_token);
if (r < 0)
goto ERROR;
int r;
// Fail if not authenticated
- if (!*self->access_token)
+ if (!*self->auth.access_token)
return -ENOTSUP;
// Set the access token
- r = pakfire_xfer_add_header(xfer, "Authorization: Bearer %s", self->access_token);
+ r = pakfire_xfer_add_header(xfer, "Authorization: Bearer %s", self->auth.access_token);
if (r < 0)
return r;
}
// Store the access token
- r = pakfire_string_set(self->access_token, access_token);
+ r = pakfire_string_set(self->auth.access_token, access_token);
if (r < 0)
return r;
// Store the refresh token
- r = pakfire_string_set(self->refresh_token, refresh_token);
+ r = pakfire_string_set(self->auth.refresh_token, refresh_token);
if (r < 0)
return r;
// Extract the expiry time of the access token
- expires_at = r = pakfire_jwt_expires_at(self->access_token);
+ expires_at = r = pakfire_jwt_expires_at(self->auth.access_token);
if (expires_at < 0) {
ERROR(self->ctx, "Failed to fetch the expiry time of the access token: %s\n", strerror(-r));
return r;