interactions: - request: body: redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&password=hunter2&username=admin%40localhost%3A3000&grant_type=password&client_id=__MASTODON_PY_TEST_ID&client_secret=__MASTODON_PY_TEST_SECRET&scope=read+write+follow headers: Accept: ['*/*'] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Length: ['215'] Content-Type: [application/x-www-form-urlencoded] User-Agent: [python-requests/2.18.4] method: POST uri: http://localhost:3000/oauth/token response: body: {string: '{"error":"invalid_grant","error_description":"The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client."}'} headers: Cache-Control: [no-store] Content-Type: [application/json; charset=utf-8] Pragma: [no-cache] Transfer-Encoding: [chunked] Vary: ['Accept-Encoding, Origin'] WWW-Authenticate: ['Bearer realm="Doorkeeper", error="invalid_grant", error_description="The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client."'] X-Request-Id: [ece30cd8-c6c1-4bc7-af1a-19bbd997745e] X-Runtime: ['0.077864'] content-length: ['213'] status: {code: 401, message: Unauthorized} version: 1