interactions: - request: body: redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&password=hunter2&username=admin%40localhost&grant_type=password&client_id=__MASTODON_PY_TEST_CLIENT_ID&client_secret=__MASTODON_PY_TEST_CLIENT_SECRET&scope=read+write+follow+push headers: Accept: ['*/*'] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Length: ['227'] 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: ['private, 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: [7fa598ab-7710-467d-b4c7-45bd55280897] X-Runtime: ['0.081215'] content-length: ['213'] status: {code: 400, message: Bad Request} version: 1