Fetch a new access token using a refresh token. :param url: Refresh Token endpoint, must be HTTPS. :param refresh_token: The refresh_token to use. :param body: Optional application/x-www-form-urlencoded body to add the include in the token request. Prefe
(
self, url=None, refresh_token=None, body="", auth=None, headers=None, **kwargs
)
| 257 | return token |
| 258 | |
| 259 | def refresh_token( |
| 260 | self, url=None, refresh_token=None, body="", auth=None, headers=None, **kwargs |
| 261 | ): |
| 262 | """Fetch a new access token using a refresh token. |
| 263 | |
| 264 | :param url: Refresh Token endpoint, must be HTTPS. |
| 265 | :param refresh_token: The refresh_token to use. |
| 266 | :param body: Optional application/x-www-form-urlencoded body to add the |
| 267 | include in the token request. Prefer kwargs over body. |
| 268 | :param auth: An auth tuple or method as accepted by requests. |
| 269 | :param headers: Dict to default request headers with. |
| 270 | :return: A :class:`OAuth2Token` object (a dict too). |
| 271 | """ |
| 272 | session_kwargs = self._extract_session_request_params(kwargs) |
| 273 | refresh_token = refresh_token or self.token.get("refresh_token") |
| 274 | if "scope" not in kwargs and self.scope: |
| 275 | kwargs["scope"] = self.scope |
| 276 | body = prepare_token_request( |
| 277 | "refresh_token", body, refresh_token=refresh_token, **kwargs |
| 278 | ) |
| 279 | |
| 280 | if headers is None: |
| 281 | headers = DEFAULT_HEADERS.copy() |
| 282 | |
| 283 | if url is None: |
| 284 | url = self.metadata.get("token_endpoint") |
| 285 | |
| 286 | for hook in self.compliance_hook["refresh_token_request"]: |
| 287 | url, headers, body = hook(url, headers, body) |
| 288 | |
| 289 | if auth is None: |
| 290 | auth = self.client_auth(self.token_endpoint_auth_method) |
| 291 | |
| 292 | return self._refresh_token( |
| 293 | url, |
| 294 | refresh_token=refresh_token, |
| 295 | body=body, |
| 296 | headers=headers, |
| 297 | auth=auth, |
| 298 | **session_kwargs, |
| 299 | ) |
| 300 | |
| 301 | def ensure_active_token(self, token=None): |
| 302 | if token is None: |
no test coverage detected